Podle vaší konfigurace máte dva server{...}
bloky, které jsou úplně stejné. Takže než začnu vysvětlovat, co je s vaší konfigurací špatně, musíte poskytnout další podrobnosti. Níže naleznete několik rad pro odstraňování problémů.
Prozatím zde zveřejním své a zvýrazním několik directives
na čem záleží.
Můj /etx/nginx/conf.d/default.conf
vypadá následovně
server {
# Replace this port with the right one for your requirements
listen 80;
# Multiple hostnames separated by spaces. Replace these as well.
server_name mydomain.nl;
root /var/www/mydomain.nl/public_html/;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html;
location / {
# This is cool because no php is touched for static content.
try_files $uri $uri/ /index.php;
}
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
expires max;
}
location ~* \.php$ {
try_files $uri =404
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location ~ /\.(ht|ssh) {
deny all;
}
location /status {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
Důležité jsou následující směrnice:
server_name mydmaiin.nl;
<-- Toto je jedinečné pro každý blok serveru.
root /var/www/mydomain.nl/public_html/;
<-- Toto je kořenový adresář, který obsahuje vaše webové stránky / data.
Zbytek je triviální.
Vezměme si tedy /etc/php-fpm.d/www.conf
archivovat a zkoumat. Zvolili jste použití soketu souborů
listen = /var/run/php-fpm/php-fpm.sock
<-- php-fpm bude komunikovat s nginx
prostřednictvím tohoto souboru. Takže toto je můj www.conf
pokud vám něco neuniklo. Odfiltroval jsem všechny komentované řádky. Takže toto jsou řádky, které jsou bez komentáře.
[www]
listen = /var/run/php5-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
Odstraňování problémů
1) Viz oprávnění k adresáři. V tomto případě /usr/share/nginx/html
2) Viz protokolování chyb php-fpm. Zkontrolujte, zda se konfigurační soubor načítá v pořádku, spuštěním
php-fpm -y /etc/php-fpm.conf
3) Změňte log_level = debug
v /etc/php-fpm.conf
4) Vraťte se s dalšími podrobnostmi!