V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nonozone
V2EX  ›  问与答

请教个Nginx的502问题啊?

  •  
  •   nonozone · 2012-05-11 17:27:32 +08:00 · 2820 次点击
    这是一个创建于 4404 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新服务器,配置还不错,就上了两个网站而已,结果就502了,要重启服务器才可以,重启nginx还没用。用的是spawn-fcgi

    netstat -anpo | grep "php-cgi" | wc -l
    显示为0...

    求解...

    重新那啥了下 netstat -anpo | grep "php5-cgi" | wc -l
    结果是1
    10 条回复    1970-01-01 08:00:00 +08:00
    felinx
        1
    felinx  
       2012-05-11 17:30:15 +08:00
    502是后端要proxy的进程没相应,按你的这意思是用fastcgi跑的php,那就是php的cgi进程没跑起来。
    nonozone
        2
    nonozone  
    OP
       2012-05-11 17:33:19 +08:00
    @felinx 运行的好好的突然502了...
    nonozone
        3
    nonozone  
    OP
       2012-05-11 17:40:41 +08:00
    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 }
    ~
    felinx
        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真挂死了。
    nonozone
        5
    nonozone  
    OP
       2012-05-11 17:50:21 +08:00
    @felinx 本来访问好好的,然后突然就502了,刷新也刷不出来。

    用的是spawn-fcgi。

    想问下,fastcgi进程数要哪里设置呢?
    felinx
        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是大写。
    altchen
        7
    altchen  
       2012-05-11 17:56:56 +08:00
    与主题无关的建议worker_processes搞少点,跟cpu一样或者一半就行,太多了没用还是负担
    nonozone
        8
    nonozone  
    OP
       2012-05-11 17:57:36 +08:00
    @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
    nonozone
        9
    nonozone  
    OP
       2012-05-11 18:09:20 +08:00
    刚才又502了,发现fast-cgi进程直接么有了...
    eerie
        10
    eerie  
       2012-05-11 18:24:28 +08:00
    一直对fastcgi木有好感
    要图稳定还是老老实实用apache处理php吧,前端还是可以套个nginx处理静态文件,省心
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:40 · PVG 18:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.