NOUVELLEMENT Créer une pile Lemp Pile PHP-FPM sur Ubuntu 14.04 x64. Tenter d'accéder à un fichier PHP dans mon webroot. Le navigateur montre 502 Bad Gateway et Nginx Error Log indique ce qui suit (mon IP et la version IP de production supprimée):
TIME [error] 22838#0: *7 connect() failed (111: Connection refused) while connecting to upstream, client: [my personal IP], server: [production server IP], request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", Host: "[production server IP]"
Pour déterminer si PHP-FPM est en cours d'exécution, j'exécute:
ps -waux | grep php5
Et je suis de retour en réponse:
root 22930 0.0 0.4 327432 16324 ? Ss 10:10 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
Comment déterminer le port PHP-FPM fonctionnant ou pourquoi il ne s'exécute pas sur ce port? Merci.
Trouvé:
Afin de spécifier le numéro de port, vous devez modifier la directive "--List =" Directive dans /etc/php5/fpm/pool.d/www.conf Cependant, j'ai découvert qu'il est théoriquement plus efficace de Autoriser Nginx de communiquer sur des prises UNIX, donc j'ai échangé
127.0.0.1:9000
avec
/var/run/php5-fpm.sock
Ce fut le premier pas...
J'ai ensuite dû remplacer les lignes suivantes dans mon fichier de configuration de mon site (Sites-disponibles/par défaut):
fastcgi_pass 127.0.0.1:9000;
avec
fastcgi_pass unix:/var/run/php5-fpm.sock;
Et maintenant je suis en train de courir.
Si votre service (non seulement PHP-FPM) est à l'écoute du port, vous pouvez le déterminer en tapant Sudo netstat -lntp
:
# Sudo netstat -lntp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.16.121:3306 0.0.0.0:* LISTEN 1427/mysqld
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 1722/memcached
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 642/smbd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21315/nginx
tcp 0 0 127.0.0.1:81 0.0.0.0:* LISTEN 25078/php-fpm.conf)
où vous pouvez voir que le processus PHP-FPM avec PID 25078 utilise 81 ports.