How to install freenginx in CentOS/RHEL 8 (aarch64)
High performance web server
Install
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm sudo dnf -y install dnf-plugins-core sudo dnf config-manager --enable getpagespeed-freenginx-mainline sudo dnf -y install freenginx
Description
nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server.
Architecture
Optimized for aarch64 (ARM64) architecture. It can be used on AWS Graviton instances, as well as Raspberry Pi 4 and newer.
Compatibility
This package is compatible with all RHEL-based distributions, including CentOS, AlmaLinux, Oracle Linux, Rocky Linux, etc.
RPMs
| Package | Size | Built | Changes |
|---|---|---|---|
| freenginx-1.31.4-69.el8.gps.aarch64 | 965 KiB | 2026-09-18 |
Danila Vershinin - SELinux: allow httpd_t setattr on /dev/null (nginx-gps policy 1.2). With · the common "error_log /dev/null;" idiom, every logrotate USR1 log reopen · produced a daily [emerg] "chown(/dev/null) failed (13: Permission denied)" · because the master chowns error logs to the worker UID and the stock · policy denies it silently (dontaudit, no AVC). · - SELinux: ship nginx-gps as version-agnostic CIL text instead of a binary · .pp. The .pp module format tracks the build chroot's checkpolicy (3.10 · emits format 24), which targets one userland update behind (libsepol 3.9, · reads 4-23) cannot parse — the module then silently failed to install. · - SELinux: %post now emits a warning to stderr when the nginx-gps module · fails to install instead of swallowing the error. |
| freenginx-1.31.4-68.el8.gps.aarch64 | 965 KiB | 2026-09-09 |
Danila Vershinin - SELinux: support "quic_bpf on;" (QUIC connection migration) behind a new · default-off boolean. The stock policy grants httpd_t nothing on the bpf · class, so enabling quic_bpf made nginx refuse to start with "failed to · create BPF map (13: Permission denied)". nginx-gps policy module 1.1 adds · the empirically-captured allows (bpf map/prog permissions plus the bpf, · perfmon and net_admin capability checks), all gated behind the boolean · nginx_quic_bpf, off by default: nothing changes for any install until · "setsebool -P nginx_quic_bpf 1". Verified on Rocky Linux 10 enforcing: · start, reload, binary upgrade and HTTP/3 traffic all clean with zero AVCs; · with the boolean off, behavior is exactly as before. |
| freenginx-1.31.4-67.el8.gps.aarch64 | 964 KiB | 2026-09-08 |
Danila Vershinin - gps-license module 1.9.1: fix CLOSE-WAIT connection leak. Every identity · probe request and every hard-enforcement 503 left one worker connection · un-finalized (CLOSE-WAIT) until worker_connections exhausted - a 1/min · monitoring probe could take a server down in about a day (reported by an · Ultra subscriber with a clean 20-probes = +20 CLOSE-WAIT repro). Both · paths now finalize the request; hard 503s appear in access_log, probe · requests remain unlogged. Regression-tested (integration + EL9 e2e with · the reporter's exact ss check) and E2E-proven against production. |
| freenginx-1.31.4-66.el8.gps.aarch64 | 963 KiB | 2026-09-04 |
Danila Vershinin - gps-license 1.9.0 tarball refresh: fix Linux compilation of the module's · unit-test harness (POSIX feature-test macro, test path buffer); shipped · module code unchanged. Supersedes the partially-published Release 65 · (x86_64-only, cancelled mid-build) so all architectures converge on the · E2E-proven build (verified against production: beacon machine identity · row landed in repo_license_usage) |
| freenginx-1.31.4-64.el8.gps.aarch64 | 957 KiB | 2026-09-02 |
Danila Vershinin - nginx-ech: new subpackage for ECH (RFC 9849) key generation and rotation, · at parity with nginx-mod-ech (shared nginx-ech-keygen implementation) · - assert ECH is live at build time: a bogus ssl_ech_file must fail the · configuration test instead of degrading to a silent no-op |