Heim  >  Fragen und Antworten  >  Hauptteil

php-nginx – Konfigurieren Sie nginx + php + spwan-fcgi, Fehler 502 Bad Gateway und php-fcgi kann nicht gestartet werden.

Zuerst habe ich Nginx konfiguriert

Verwenden Sie zum Starten den Befehl service nginx start unter Linux und melden Sie sich bei localhost an, um die Begrüßungsseite anzuzeigen.

Folgen Sie dann dem Online-Tutorial, um die Standarddatei zu ändern

Während des Änderungsprozesses habe ich index.php zum Server hinzugefügt,
root ist immer noch /usr/share/nginx/html, es wurden keine Änderungen vorgenommen.

Ich habe /usr/share/nginx/html/index.html in index.php geändert

Wenn ich localhost öffne, wird ein 502 Bad Gateway-Fehler gemeldet.

Starten Sie php-fcgi und zeigen Sie das untergeordnete Element an, beendet mit: 127

Nach Angaben im Internet habe ich getestet, ob der Cache oder die Threads nicht ausreichen. Mit PHP-FPM sollte es kein Problem sein. Ich frage mich, ob es daran liegt, dass php-fcgi nicht gestartet ist?

黄舟黄舟2691 Tage vor628

Antworte allen(4)Ich werde antworten

  • 迷茫

    迷茫2017-05-16 17:25:13

    我自问自答一下,说说我的解决办法。
    一楼的答案说的没错,但是启动php-cgi不知道为什么在我的机器上一直不行,于是我下载了spwan-fcgi,是一款管理php-cgi的软件。
    安装成功后,输入命令spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi(其中粗体字要根据自己的位置来修改。)启动之后就可以了。
    我现在也不知道为什么php-fpm无法启动。。。

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:25:13

    php-cgi都没启动,肯定不行,解决方法就是启动php-cgi

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:25:13

    PHP-FPM是独立运行的程序,不依赖PHP-CGI.
    PHP-FPM主进程就能管理自己的工作进程,所以也不需要spwan-fcgi.
    Ubuntu/Debian上的安装方法:

    sudo apt-get install nginx php5-fpm php5-mysqlnd mysql-server
    服务管理:
    sudo /etc/init.d/nginx start|stop|restart
    sudo /etc/init.d/php5-fpm start|stop|restart
    sudo /etc/init.d/mysql start|stop|restart
    配置目录:
    Nginx:   /etc/nginx/
    PHP-FPM: /etc/php5/fpm
    

    配置方法可以参考:
    http://huoding.com/2013/10/23/290

    server {
        listen 80;
        server_name foo.com;
    
        root /path;
        index index.html index.htm index.php;
    
        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }
    
        location ~ \.php$ {
            try_files $uri =404;
            include fastcgi.conf;
            fastcgi_pass 127.0.0.1:9000;
        }
    }
    

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-16 17:25:13

    nginx下php需要使用php-fpm 在编译php的时候加上

    --enable-fpm

    ,
    然后需要在php的etc目录下建立php-fpm的配置文件php-fpm.conf(配置参考:http://qiananhua.com/22#title-4)
    接着就可以启动php-fpm

    /usr/local/php/sbin/php-fpm -t

    Antwort
    0
  • StornierenAntwort