1
felinx 2012-05-11 17:30:15 +08:00
502是后端要proxy的进程没相应,按你的这意思是用fastcgi跑的php,那就是php的cgi进程没跑起来。
|
3
nonozone OP nginx配置如下:
2 user nginx; 3 worker_processes 50; 4 5 error_log /var/log/nginx/error.log warn; 6 pid /var/run/nginx.pid; 7 8 9 events { 10 worker_connections 1024; 11 } 12 13 14 http { 15 include /etc/nginx/mime.types; 16 default_type application/octet-stream; 17 18 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 19 '$status $body_bytes_sent "$http_referer" ' 20 '"$http_user_agent" "$http_x_forwarded_for"'; 21 22 access_log /var/log/nginx/access.log main; 23 24 sendfile on; 25 #tcp_nopush on; 26 autoindex off; 27 map $scheme $fastcgi_https { ## Detect when HTTPS is used 28 default off; 29 https on; 30 } 31 32 keepalive_timeout 60; 33 34 gzip on; 35 gzip_comp_level 2; 36 gzip_proxied any; 37 gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; 38 39 40 include /etc/nginx/conf.d/*.conf; 41 } ~ |
4
felinx 2012-05-11 17:45:50 +08:00
1. 是每次访问都502,还是有时OK,有时不行。
2. 重启fastcgi进程是否OK 3. 你用的啥跑的php5-cgi,spawn-fcgi? 可能: 1. 你开的fastcgi进程数太少了。 2. fastcgi真挂死了。 |
5
nonozone OP |
6
felinx 2012-05-11 17:54:31 +08:00
@nonozone
spawn-fcgi -a 127.0.0.1 -p 8081 -C 5 -u felinx -g felinx -f /usr/bin/php-cgi 参数依次是,ip、端口、进程数、用户、用户组、cgi程序文件路径。 类似于这样的,-C 后的是进程数,注意C是大写。 |
7
altchen 2012-05-11 17:56:56 +08:00
与主题无关的建议worker_processes搞少点,跟cpu一样或者一半就行,太多了没用还是负担
|
8
nonozone OP @felinx 这个是我按照教程放在rc.local的启动文件,貌似这里面没有设置进程数?
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid |
9
nonozone OP 刚才又502了,发现fast-cgi进程直接么有了...
|
10
eerie 2012-05-11 18:24:28 +08:00
一直对fastcgi木有好感
要图稳定还是老老实实用apache处理php吧,前端还是可以套个nginx处理静态文件,省心 |