php-fpm+nginx настройка
Здравствуйте, Решил попробовать настроить на VDS php-fpm+nginx под LS. В процессе возникли проблемы, если не сложно можно глянуть конфиги и подсказать в где у меня ошибки… ну кроме ДНК =)
в папке/etc/nginx/sites-available/spagency.org
]Счас такой, был немного другой но я уже сократил до минимума
vi /etc/php5/fpm/php-fpm.conf
В конце добавлено:
в /etc/php5/fpm/pool.d/www.conf
По логам:
энджикс:
пхп-фпм:
Насколько я понимаю fpm слушает, но энджикс не определяет php как скрипт который нужно выполнять и не обращается к нему. При прямом указании на php он его скачивает.
И ещё он логи пишет в /var/log/nginx/error.log хотя я ему указываю в конфиге error_log
То есть на сколько я понимаю ему вообще пофиг на мой конфиг и он живет своей жизнью?
В /etc/nginx/nginx.conf указано следующее:
Собственно я понимаю что косяк какой то тупой но сообразить не могу.
И ещё если я забиваю адрес www.spagency.org/install то он меня перекидывает на localhost/install/
И запускает nginx как то по разному по адресам spagency.org и www.spagency.org
по одному 403 по другому 502 ошибки =)
это я в hoths, настройках DNS закосячил или тоже в конфиге энжикса?
в папке/etc/nginx/sites-available/spagency.org
]Счас такой, был немного другой но я уже сократил до минимума
server {
listen 80;
server_name spagency.org
access_log /var/log/nginx/spagency.access_log;
error_log /var/log/nginx/spagency.error_log;
root /var/www;
index index.php;
location / {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^(/.*)$ /index.php?q=$1 last;
break;
}
}
location ~ .php$ {
fastcgi_pass unix:/tmp/fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
location ~ .(tpl|xml|log)$ {
deny all;
}
}
vi /etc/php5/fpm/php-fpm.conf
В конце добавлено:
pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500
в /etc/php5/fpm/pool.d/www.conf
listen = /tmp/fastcgi.socket
По логам:
энджикс:
2012/08/16 03:38:58 [error] 807#0: *233 directory index of "/var/www/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET / HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:20 [error] 807#0: *234 directory index of "/var/www/install/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET /install/ HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:21 [error] 807#0: *234 open() "/var/www/favicon.ico" failed (2: No such file or directory), client: 195.206.33.26, server: localhost, request: "GET /favicon.ico HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:23 [error] 807#0: *234 directory index of "/var/www/" is forbidden, client: 195.206.33.26, server: localhost, request: "GET / HTTP/1.0", host: "www.spagency.org"
2012/08/16 03:46:32 [error] 807#0: *235 connect() failed (111: Connection refused) while connecting to upstream, client: 93.158.155.137, server: spagency.org, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:81/", host: "spagency.org"
пхп-фпм:
[16-Aug-2012 03:53:59] NOTICE: exiting, bye-bye!
[16-Aug-2012 03:53:59] NOTICE: fpm is running, pid 10540
[16-Aug-2012 03:53:59] NOTICE: ready to handle connections
Насколько я понимаю fpm слушает, но энджикс не определяет php как скрипт который нужно выполнять и не обращается к нему. При прямом указании на php он его скачивает.
И ещё он логи пишет в /var/log/nginx/error.log хотя я ему указываю в конфиге error_log
/var/log/nginx/spagency.error_log;
То есть на сколько я понимаю ему вообще пофиг на мой конфиг и он живет своей жизнью?
В /etc/nginx/nginx.conf указано следующее:
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/access.log;
types_hash_bucket_size 64;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_proxied any;
gzip_min_length 1100;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 9;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Собственно я понимаю что косяк какой то тупой но сообразить не могу.
И ещё если я забиваю адрес www.spagency.org/install то он меня перекидывает на localhost/install/
И запускает nginx как то по разному по адресам spagency.org и www.spagency.org
по одному 403 по другому 502 ошибки =)
это я в hoths, настройках DNS закосячил или тоже в конфиге энжикса?
# IPv4
127.0.0.1 localhost
127.0.0.1. spagency.org www.spagency.org
78.47.50.26 Debian-60-squeeze-64-LAMP.spagency.org Debian-60-squeeze-64-LAMP
$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2012081500 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum
@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.
@ IN A 78.47.50.26
localhost IN A 127.0.0.1
mail IN A 78.47.50.26
www IN A 78.47.50.26
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
@ IN MX 10 mail
">
5 комментариев
директиву индекс надо выкинуть на уровень вверх (в server), а все что ниже бестпрактисы предлагают переписать как
Но в целом nginx настроен вроде бы правильно, ну всякую ерунду типа прав и перезагрузки конфигов nginx после правки я думаю уже проверили.
Вот это
намекает нам на то, что отлуп дает php-fpm. Надо ковырять его логи
иначе геты типа поиска не будет работать