Az Nginx 500 hibát ad nekem, ami “megőrjít. Először is van egy personalsite.conf
archiváljon /etc/nginx/conf.d/
belül, ahol van a kiszolgálóblokkom.
Ez a szerverblokk konfigurációm:
server { listen 80; server_name personalsite.me; charset UTF-8; access_log /var/log/nginx/personalsite.access.log main; error_log /var/log/nginx/personalsite.error.log; root /usr/share/nginx/html/personalsite; index index.php index.html index.htm; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html/; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
A nginx Plus felhasználónak meg vannak a megfelelő jogosultságai a /usr/share/nginx/html/personalsite/
felett.
Az a helyzet, hogy az Nginx 500 hibát ad nekem, amikor megpróbálok böngészni a personalsite.me
, és az a vicces, hogy tudom, hogy azért, mert ellenőriztem a personalsite.access.log
t, és láttam, mert a ragyogó csak elalszik. Az Nginx nem tudja megmutatni az 500-as hibalehetőségét, amelyet a szerverblokkban megfelelően deklaráltak, amint láthatja.
További furcsa dolog, hogy a personalsite.error.log
üres, nem rögzít semmit.
Szintén azt a domaint deklaráltam az IP-jével az /etc/hosts
archívumban. Tehát valójában fogalmam sincs, mi történik itt.
Minden r a CentOS 7 unning megszüntetése a Digital Ocean VPS-en.
Válasz
A legtöbb hiba a hibás konfiguráció miatt következik be, amikor a Nigix telepítést végez. Azt javaslom, ellenőrizze a fájlt (/etc/php-fpm.d/www.conf
).
vi /etc/php-fpm.d/www.conf
Keresse meg a figyelési paramétert megadó sort, és változtassa meg, így a következőképpen néz ki:
listen = /var/run/php-fpm/php-fpm.sock
Ezután keresse meg azokat a sorokat, amelyek beállítják a listen.owner
és listen.group
és bontsa le őket. Így kell kinézniük:
listen.owner = nobody listen.group = nobody
Végül keresse meg azokat a sorokat, amelyek beállítják a felhasználót és a csoportot, és megváltoztatja az értékeiket “apache” -ról “nginx” -re:
user = nginx group = nginx
Ezután mentse és lépjen ki
/etc/init.d php-fpm restart
Válasz
Nem a legjobb válasz a világon, de egy 500-as hiba kétértelmű, lehet, hogy az nginx konfigurációja, vagy kapcsolódhat a webhely tartalmához. Csökkentse a konfigurációját, és újjáépítse, amíg meg nem tudja reprodukálni a problémát.
Cserélje le a webhely tartalmát egy egyszerű index.html-re, csak néhány egyszerű szöveggel. Hagyjon el minden extra hibadirektumot és a helyblokkot. Miután létrehozta az alapvető funkcionalitást, kevésbé érezheti magát őrültnek, és hozzáadhatja más irányelveit, amint teszteli, amíg el nem különíti a problémákat okozó irányelveket, és onnan megtalálja a kiváltó okot.
Megjegyzések
Válasz
Ha a PHP display_errors le van tiltva, a PHP hibák Nginx 500 hibát adhatnak vissza.
Meg kell néznie a php-fpm naplóit, és biztosan megtalálja a hibát. CentOS 7 esetén:
tail -f /var/log/php-fpm/www-error.log
Megjeleníthet PHP hibákat is. Az /etc/php.ini fájlban módosítsa:
display_errors = Off
a következőre:
display_errors = On
phpinfo.php
fájlra, és tökéletesen fut. Az a webhely, amelyet futtatni próbáltam ', a Yii keretrendszert használja. Megnéztem a hivatalos wikit, és a következőket írja: " A szoftver nginx, php-fpm (php5-fpm). A teljesítmény érdekében ' javasolja a php-fpm futtatását SOCKET módban, ahelyett, hogy IP: PORTon keresztül érné el. Ez az alábbi módszer: " I ' m az Nginx használatával. Tehát fogalmam sincs, miért ad 500 hibát, és nem szoktam írni a error.log-ra.