php 9000埠沒有啟動的解決方法:1、找到「php5/fpm/pool.d/www.conf」;2、將listen改為「127.0.0.1:9000」;3、將nginx改回用埠監聽的方式;4、重啟nginx和php-fpm即可。
本文操作環境:ubuntu 16.04系統、PHP7.1版、DELL G3電腦
php 9000埠沒有啟動怎麼辦?php-fpm啟動以後,沒有出現9000埠?
最近在重現一個php擴充的後門,需要搭建Nginx php環境,nginx我是用源碼裸裝的,不帶任何第三方模組。
php-cli和php-fpm 則是透過ubuntu的標準apt-get指令安裝的。
隨後需要修改nginx的nginx.conf檔案讓其支援php腳本解析。
經查詢網路上的設定有兩種,一種是
支援127.0.0.1:9000
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name; include fastcgi_params; }
另一種是使用sock檔
location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass unix:/var/run/php-fpm/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
剛開始使用第一種9000埠的方式進行配置,php解析不了,後經過查詢php-fpm日誌,發現有sock
[17-Sep-2019 00:23:02] NOTICE: fpm is running, pid 5617 [17-Sep-2019 00:23:02] NOTICE: ready to handle connections [17-Sep-2019 00:23:02] NOTICE: systemd monitor interval set to 10000ms [17-Sep-2019 00:31:28] ERROR: An another FPM instance seems to already listen on /var/run/php5-fpm.sock [17-Sep-2019 00:31:28] ERROR: FPM initialization failed [17-Sep-2019 00:37:34] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
隨後在nginx設定檔中改用第二種sock檔交互的模式,發現還是頁面解析不了。
最後找到/etc/php5/fpm/pool.d/www.conf 設定文件,將listen改為127.0.0.1:9000
又將nginx改回用連接埠監聽的方式,重啟nginx和php-fpm以後,終於可以解析php腳本了。 。
root@ubuntu:/usr/local/nginx# netstat -tln Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp6 0 0 ::1:631 :::* LISTEN root@ubuntu:/usr/local/nginx# pgrep nginx|xargs kill -s 9 root@ubuntu:/usr/local/nginx# vim conf/nginx.conf root@ubuntu:/usr/local/nginx# sbin/nginx root@ubuntu:/usr/local/nginx#
nginx.conf設定檔
server { listen 80; server_name localhost; root html; index index.php; location ~\.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
/etc/php5/fpm/pool.d/www.conf檔案修改的地方:
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses on a ; specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000
#推薦學習:《PHP影片教學》
以上是php 9000埠沒有啟動怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!