[FIX] NGINX start failed CentOS 7 - nginx: "pot" "emergen" open () ni uspela

Kar zadeva upravljanje spletnih strežnikov lahko veliko neprijetnih presenečenj. Še posebej, ko se gibljejo iz starejše različice starejšega operacijskega sistema, eden novejših. Vsalabil oba Ubuntu in CentOS.

Od CentOS 5 do 7 CentOS veliko stvari se je spremenilo na bolje. Poudarek je bil na varnosti in stabilnosti. Za novice linux, ali za uporabnika, ki se ne zaveda, kaj je novega o strežnikih in storitvah, specifičnih za upravljanje spletno gostovanjemalo novic vam lahko povzroči glavobole.

Ena izmed najpogostejših napak pri namestitvi LEMP (Linux, NGINX, MySQL, PHP) varnostnih in servisnih dovoljenj nameščen v operacijskem sistemu CentOS 7.

Napaka pri zagonu storitve NGINX, tudi če se zdi, da je vse dobro konfigurirano v smislu PHP-FPM in NGINX.


restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

V statusu imamo naslednje podrobnosti, vendar nam ne pomagajo veliko.

systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-03-08 06:57:41 UTC; 17s ago
Process: 4405 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 4704 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 4766 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 4764 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 4706 (code=exited, status=0/SUCCESS)
Mar 08 06:57:40 srv.xsystem.dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: [emerg] open() "/srv/www/web.dev/logs/access.log" failed (13: Permission denied)
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: configuration file /etc/nginx/nginx.conf test failed
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service: control process exited, code=exited status=1
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Unit nginx.service entered failed state.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service failed.

Vendar razumemo, da je dostop do storitve "nginx" blokiranje operacij na CentOS 7.

Reševanje težav "nginx: [pathing] open ()" pot ni uspela (13: Dovoljenje je zavrnjeno) "

Varnostno izboljšan Linux (SELinux) je modul, ki najpogosteje prihaja z namestitvijo CentOS 7 ali drugih distribucij Linuxa. Ta modul ponuja več nadzorna orodja in nadzor dostopa na strežniški ravni, ko je dobro varovati varnosti in integritete. Vendar pa lahko omeji privilegije pomembnih storitev in aplikacij, nameščene v sistemu.

Preprosta rešitev za zgoraj omenjeni problem je onemogočiti SELinux.

Kako deaktivirati SELinux na CentOS 7

1. Najprej preverite, ali je ta modul omogočen na sistemu z izvajanjem ukaza “sestatus”.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

2. Če je storitev omogočena, zaženite ukazno vrstico: "setenforce 0" in nato uredite datoteko “/etc/selinux/config”.
Tu nastavite: SELINUX=disabled.

3. Ko shranite zgornjo datoteko, znova zaženite strežnik.

Vse bi moralo delovati gladko.

[FIX] NGINX start failed CentOS 7 - nginx: "pot" "emergen" open () ni uspela

O avtorju

Stealth

S strastjo nad vsem, kar pomeni pripomoček in IT, z 2006 z veseljem pišem na stealthsettings.com in rad z vami odkrivam nove stvari o računalnikih in macOS-u, operacijskih sistemih Linux, Windows, iOS in Android.

Pustite komentar