啟動php沒發現9000埠,nginx配置問題
阿新 • • 發佈:2018-11-09
原本的配置應該是這樣,但是通過netstat -ntpl並沒有發現9000埠
就需要把這段程式碼
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $1; # 把pathinfo部分賦給PATH_INFO變數 #fastcgi_param PATH_INFO $fastcgi_path_info; #fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }
改為:
location ~ \.php(.*)$ { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $1; # 把pathinfo部分賦給PATH_INFO變數 #fastcgi_param PATH_INFO $fastcgi_path_info; #fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }
備註:
fastcgi_pass 的地址可以通過搜尋命令查找出php-fpm.conf的配置檔案
[[email protected] conf.d]# find / -name php-fpm* /usr/bin/php-fpm /usr/local/php/etc/php-fpm.d /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf.default /usr/local/php/var/log/php-fpm.log /usr/local/php/var/run/php-fpm.pid /usr/local/php/sbin/php-fpm /usr/local/php/php/man/man8/php-fpm.8 /root/lnmp1.5/conf/php-fpm5.2.conf
開啟 /root/lnmp1.5/conf/php-fpm5.2.conf 查詢裡面的listen_address
<value name="listen_address">/tmp/php-cgi.sock</value>
就可在fastcgi_pass裡填寫
fastcgi_pass unix:/tmp/php-cgi.sock;
。
貼出一個完成https+wss配置檔案
upstream websocket {
server 47.105.63.100:9551;
}
#http rewrite https
server {
listen 80;
server_name test.boxinid.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
server_name test.boxinid.com;
ssl on;
root /web/hangkong;
index index.html index.php;
ssl_certificate /cert/214861232200501.pem;
ssl_certificate_key /cert/214861232200501.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
charset utf-8;
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9001
# 訪問:wss://xxxx.com/wss
location /wss {
proxy_pass http://websocket;#代理到上面的地址去
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location ~ /file/ {
return 888;
}
location ~ \.php(.*)$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $1; # 把pathinfo部分賦給PATH_INFO變數
#fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
#去掉index.php
location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; }}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
location ~ /\.ht {
deny all;
}
}