Установите nginx 1.0.6 PHP5-FPM 5.3.8.1 на vps с двумя включенными сайтами - по умолчанию и песочница. оба имеют разные пулы - по умолчанию 127.0.0.1:9001, песочница - unix: /tmp/php5-fpm.sock.
трафик на domain.com обслуживается по умолчанию, sandbox.domain.com - песочницей. Оба работают нормально, обслуживая приложения php.
Я решил переключить pm.status_path на обоих - по умолчанию / status1, песочница - / status.
Я могу свернуться http://127.0.0.1/status1 и получить ответ.
pool: default
process manager: dynamic
start time: 10/Oct/2011:18:14:24 -0500
start since: 8771
accepted conn: 61
listen queue: 0
max listen queue: 0
listen queue len: 128
idle processes: 2
active processes: 1
total processes: 3
max active processes: 1
max children reached: 0
Тем не мение, http://127.0.0.1/status возвращает сообщение "искомая страница временно недоступна. Повторите попытку позже"
правило по умолчанию довольно стандартное.
location ~ ^/(status|status1|ping)$ {
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass 127.0.0.1:9001;
fastcgi_read_timeout 300;
fastcgi_intercept_errors on;
allow 127.0.0.1;
deny all;
}
Идеи?
location /php-fpm-pool1 {
fastcgi_pass unix:/var/run/php5-fpm-pool1.sock;
fastcgi_param QUERY_STRING $query_string; #Allow ?json arg
fastcgi_param REQUEST_METHOD GET;
fastcgi_param SCRIPT_NAME /php-fpm-status;
fastcgi_param SCRIPT_FILENAME /php-fpm-status;
allow 127.0.0.1;
deny all;
}
location /php-fpm-pool2 {
fastcgi_pass unix:/var/run/php5-fpm-pool2.sock;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD GET;
fastcgi_param SCRIPT_NAME /php-fpm-status;
fastcgi_param SCRIPT_FILENAME /php-fpm-status;
allow 127.0.0.1;
deny all;
}
Создайте отдельный location
для /status
, что-то вроде этого:
location /status {
fastcgi_pass unix:/tmp/php5-fpm.sock;
include fastcgi.conf;
fastcgi_intercept_errors on;
error_page 404 /error/404.php;
}