NGINX-1.29.6

Introduksjon til NGINX

NGINX HTTP webserveren er et av de mest populære alternativene til Apache, samtidig som den har som mål å være høy ytelse, svært konfigurerbar og fleksibel med mye støtte.

NGINX Avhengigheter

Valgfri

gd, geoip, libxml2, libxslt, mailcap, og rsync

Installasjon av NGINX

nginx daemonen drives av root bruker, men delprosesser kjøres som en vanlig bruker og gruppe, som må opprettes. Opprett følgende gruppe og bruker ved å bruke følgende kommandoer som root bruker:

groupadd -g 25 nginx &&
useradd -c "NGINX Web Server" -g nginx \
        -s /bin/false -u 25 nginx

Installer NGINX ved å kjøre følgende kommandoer:

./configure --prefix=/etc/nginx                                     \
            --conf-path=/etc/nginx/nginx.conf                       \
            --sbin-path=/usr/sbin/nginx                             \
            --modules-path=/usr/lib/nginx/modules                   \
            --pid-path=/run/nginx.pid                               \
            --lock-path=/run/lock/nginx.lock                        \
            --http-log-path=/var/log/nginx/access.log               \
            --error-log-path=stderr                                 \
            --http-client-body-temp-path=/var/lib/nginx/client-body \
            --http-proxy-temp-path=/var/lib/nginx/proxy             \
            --http-fastcgi-temp-path=/var/lib/nginx/fastcgi         \
            --http-scgi-temp-path=/var/lib/nginx/scgi               \
            --http-uwsgi-temp-path=/var/lib/nginx/uwsgi             \
            --user=nginx                                            \
            --group=nginx                                           \
            --with-compat                                           \
            --with-threads                                          \
            --with-pcre-jit                                         \
            --with-file-aio                                         \
            --with-http_addition_module                             \
            --with-http_auth_request_module                         \
            --with-http_dav_module                                  \
            --with-http_degradation_module                          \
            --with-http_flv_module                                  \
            --with-http_gunzip_module                               \
            --with-http_gzip_static_module                          \
            --with-http_mp4_module                                  \
            --with-http_perl_module=dynamic                         \
            --with-http_random_index_module                         \
            --with-http_secure_link_module                          \
            --with-http_slice_module                                \
            --with-http_ssl_module                                  \
            --with-http_stub_status_module                          \
            --with-http_sub_module                                  \
            --with-http_v2_module                                   \
            --with-http_v3_module                                   \
            --with-stream=dynamic                                   \
            --with-stream_ssl_module                                \
            --with-stream_ssl_preread_module &&

make

Notat

Hvis kildekoden ble klonet og ikke hentet via tarballen, vil configure skriptet være på auto/configure.

Nå, som root bruker:

make install &&
mkdir -pv /var/lib/nginx &&
install -vDm644 man/nginx.8 -t /usr/share/man/man8/

Parameterforklaringer

--prefix=/etc/nginx: I motsetning til andre pakkebygg som setter prefikset til /usr, dette prefikset er satt annerledes, slik at alle konfigurasjonsfilene plasseres og sjekkes i en fornuftig katalogstruktur/plassering.

--conf-path=/etc/nginx/nginx.conf Denne parameteren sørger for at hovedkonfigurasjonsfilen for NGINX daemonen er i /etc/nginx.

--sbin-path=/usr/sbin/nginx: Denne parameteren sikrer at nginx ikke blir installert i /etc.

--http-*-path=*: Disse parameterne sikrer at de midlertidige NGINX tilstandsmappene og loggføringen er på riktige steder.

--{user,group}=nginx: Disse parameterne overfører delprosessansvar til nginx bruker og gruppe. Hvis disse ikke er spesifisert, vil de respektive verdiene være nobody og nogroup.

--with-*_module{,=dynamic}: Disse parameterne bygger moduler som ikke er aktivert som standard, men som kan være veldig nyttige. De som kan bygges dynamisk, kan det. De fleste kan ikke det.

Konfigurere NGINX

Konfigurasjonsfiler

/etc/nginx/nginx.conf

Konfigurasjonsinformasjon

Det meste av konfigurasjonen gjøres i /etc/nginx/nginx.conf. Stier til innhold som skal serveres er ikke hardkodet, og du kan spesifisere hvor viktig HTML er. Du bør lese NGINX beginner's guide for å lære hvordan du konfigurerer NGINX daemonen.

Hvis du ønsker Apache stil håndtering av HTML stier per bruker, kan du gjøre noe slikt i /etc/nginx/nginx.conf:

server {
  location ~ ^/~(.+?)(/.*)?$ {
    alias     /home/$1/public_html$2;
    index     index.html index.htm;
    autoindex on;
  }
}

Systemd Enhet

For å starte nginx daemonen automatisk når systemet startes på nytt, installer en Systemd enhet og aktiver den som root bruker:

cat > /usr/lib/systemd/system/nginx.service << "EOF" &&
[Unit]
Description=NGINX Web Server
After=network-online.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStart=/usr/sbin/nginx
ExecStop=/usr/sbin/nginx -s stop
ExecReload=/usr/sbin/nginx -s reload
PrivateTmp=true
SyslogLevel=err

[Install]
WantedBy=multi-user.target
EOF

systemctl enable nginx

Innhold

Installert Program: nginx
Installerte Biblioteker: Flere moduler i /usr/lib/nginx/modules
Installerte Mapper: /etc/nginx og /usr/lib/nginx/modules

Korte Beskrivelser

nginx

er NGINX webserver daemonen