我一直试图在我的Ubuntu 12.04 / nginx服务器上运行php脚本。我知道12.04已经过时了,但我已经卡在那里了。
我已经看到了nginx / sites-available文件的大量不同配置。我已经尝试了很多。我也尝试将php切换到另一个端口(我随机选择8889和9001),我在该文件和etc / php5 / fpm / pool.d / www.conf中设置了这些。
我想注意,当我apt-get安装php5-fpm时,我注意到这个警告: update-rc.d:警告:php5-fpm stop runlevel arguments(0 1 6)与LSB Default-Stop值不匹配(无)
然而,它似乎没有表明fpm已经失败并且还有更多(安装输出中该行下方的非警告/错误输出)。
我还想提一下,这个服务器还在不同的虚拟主机上运行python django环境,该主机也监听端口9000,但我认为这并不重要,因为它们都是nginx进程?并且,就像我提到的,我尝试更改php的端口,但它没有解决问题。
我尝试运行的脚本所做的唯一事情是打印hello world,所以那里应该没有问题。
这是我的nginx / sites-available / myvirtualhost配置文件(你可以看到我的许多不同的php配置被注释掉 - 最上面一个来自我的网站 - 可用/默认文件(在那里注释掉,默认在网站中没有链接) - 启用):
server {
listen 80;
listen [::]:80;
#
server_name mag.somedomain.com;
#
root /var/www/mag.somedomain.com/public_html;
index index.html;
#
location / {
try_files $uri $uri/ =404;
}
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
#}
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# include fastcgi_params;
#}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/mag.somedomain.com/public_html/$fastcgi_script_name;
}
}
当我查看nginx / error.log时(当端口设置为9000时):
2016/05/27 17:16:14 [error] 10689#0: *150 upstream sent unsupported FastCGI protocol version: 72 while reading response header from upstream, client: 99.3.19.77, server: mag.somedomain.com, request: "GET /version.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "mag.somedomain.com"
如果我更改端口,我会得到一个空白网页(而不是502),并且错误日志中没有任何内容。
当我使用netstat查看我得到的内容时(还有一些其他端口被收听):
tcp 0 0 127.0.0.1:8801 0.0.0.0:* LISTEN 26768/python
tcp 0 0 127.0.0.1:8802 0.0.0.0:* LISTEN 8444/python
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10686/nginx -g daem
任何人都知道我需要做什么?我已经打了好几个小时。
答案 0 :(得分:0)
好的,事实证明它确实是9000端口。我想我试过的两个备用端口不能正常使用(8999和9001)。当我检查php5-fpm错误日志时,它说端口9000已经在使用中。所以我选择了另一个随机端口 - 这次是8070 - 我的hello world脚本神奇地工作了。去图。