天天看點

使用nginx配置多個php fastcgi負載均衡

使用nginx配置多個php fastcgi負載均衡

伺服器環境是一鍵安裝包lnmp

nginx 配置檔案

[root@cacti vhost]# cat /usr/local/nginx/conf/vhost/www.test.conf 

log_format apilog '$remote_addr $http_x_forwarded_for [$time_local] $http_host $ssl_protocol $request $request_body '

' $request_time $upstream_response_time $status $upstream_status $body_bytes_sent '

' "$http_referer" "$http_user_agent" $upstream_addr';

upstream fpm-pool {

server 127.0.0.1:9000;

server 127.0.0.1:9001;

keepalive 4;

}

server

{

listen 80;

server_name www.test.com hadxpg.test.com;

index index.html index.htm index.php;

root /var/www/html/mtoyyweb;

#limit_conn crawler 20; 

#error_page 404

location ~ .*.(php|php5)?$

#fastcgi_pass unix:/tmp/php-cgi.sock;

#fastcgi_pass 127.0.0.1:9000;

fastcgi_pass fpm-pool;

fastcgi_index index.php;

include fastcgi.conf;

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

expires 30d;

location ~ .*.(js|css)?$

expires 1h;

location /5998153NginxStatus

stub_status on;

access_log off;

access_log /data/wwwlogs/access_log;

error_log /data/wwwlogs/error.log;

[root@cacti vhost]# cat /usr/local/nginx/conf/vhost/fpmstatus.conf 

server {

listen 127.0.0.1:15001;

location ~^/fpmstatus$ {

#auth_basic "status page";

#fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

#include fastcgi_params;

#fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_pass 127.0.0.1:9000;

location ~^/fpm2status$ {

fastcgi_pass 127.0.0.1:9001;

[root@cacti vhost]# cat /usr/local/php/etc/php-fpm.conf

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /data/wwwlogs/fpm-err.log

log_level = notice

events.mechanism = epoll

;process.priority = -19

[www]

listen = 127.0.0.1:9000

listen.backlog = 65535

listen.allowed_clients = 127.0.0.1

listen.owner = apache

listen.group = apache

listen.mode = 0666

user = apache

group = apache

pm = dynamic

pm.status_path = /fpmstatus

pm.max_children = 1000

pm.start_servers = 48

pm.min_spare_servers = 24

pm.max_spare_servers = 96

access.format = "%R - %u %t %T \"%m %r%Q%q\" %s %f %d"

access.log = /data/wwwlogs/pool.access.log

request_terminate_timeout = 60

;request_slowlog_timeout = 2

;slowlog = /data/wwwlogs/fpm-slow.log

[root@cacti vhost]# cat /usr/local/php/etc/php-fpm2.conf 

pid = /usr/local/php/var/run/php-fpm2.pid

error_log = /data/wwwlogs/fpm2-err.log

listen = 127.0.0.1:9001

listen.backlog = 10000

pm.status_path = /fpm2status

;slowlog = /data/wwwlogs/fpm2-slow.log

測試php-fpm.conf 配置檔案正确性:

[root@cacti vhost]# /usr/local/php/sbin/php-fpm -t -y /usr/local/php/etc/php-fpm2.conf 

[01-Jan-2018 19:15:14] NOTICE: configuration file /usr/local/php/etc/php-fpm2.conf test is successful

[root@cacti vhost]# /usr/local/php/sbin/php-fpm -t -y /usr/local/php/etc/php-fpm.conf 

[01-Jan-2018 19:15:18] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

[root@cacti vhost]# grep php-fpm2.conf /etc/init.d/php-fpm2 

php_fpm_CONF=${prefix}/etc/php-fpm2.conf

[root@cacti vhost]# grep php-fpm.conf /etc/init.d/php-fpm

php_fpm_CONF=${prefix}/etc/php-fpm.conf

[root@cacti vhost]# /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm done

[root@cacti vhost]# /etc/init.d/php-fpm2 restart

開啟錯誤日志檢視到負載均衡日志:

[root@cacti vhost]# tail -4 /data/wwwlogs/mtoyy_error.log

 本文轉自 wjw555 51CTO部落格,原文連結:http://blog.51cto.com/wujianwei/2056431