我曾尝试在 Ubuntu 机器上安装 php5-fpm 和 Nginx,但遇到了问题。当我在 unix 端口上只有一个虚拟主机时,一切都很好,但是当我尝试添加另一个虚拟主机时,Nginx 转到默认网页“欢迎使用 Nginx!”,但是当我在 tcp 端口(例如端口 9000)上运行它时,它可以与多站点一起正常工作。这是 ubuntu 11.10、Nginx 1.2.3 的全新安装,安装了 php5-fpm。它还具有额外的 php 安装,例如 php-apc。我只能提供虚拟主机的链接,因为我是从手机上执行此操作的。以下是我正在使用的两个虚拟主机的链接:http://ic0nic.co.uk/ic0nic.txt,http://ic0nic.co.uk/sourproxy.txt我也想使用 unix 端口,因为我发现它速度更快。
编辑:这是 nginx 配置
server {
server_name ic0nic.co.uk www.ic0nic.co.uk;
root /var/www/ic0nic.co.uk;
listen 8080;
index index.html index.htm index.php;
include conf.d/drop;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
fastcgi_buffers 8 256k;
fastcgi_buffer_size 128k;
fastcgi_intercept_errors on;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/dev/shm/php-fpm-www.sock;
root /var/www/ic0nic.co.uk;
}
}
server {
server_name sourproxy.co.uk www.sourproxy.co.uk;
root /var/www/sourproxy.co.uk/;
listen 8080;
index index.html index.htm index.php;
include conf.d/drop;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
fastcgi_buffers 8 256k;
fastcgi_buffer_size 128k;
fastcgi_intercept_errors on;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/sourproxy.co.uk$fastcgi_script_name;
fastcgi_pass unix:/dev/shm/php-fpm-www.sock;
}
}
答案1
您的配置似乎让我感到困惑。请按如下方式更改您的配置,并告诉我这是否解决了问题。如果没有,请发布您的 nginx 错误日志。
# /etc/sites-available/server.conf
listen 8080;
index index.html index.htm index.php;
include conf.d/drop;
location / {
location ~* \.php$ {
fastcgi_buffers 8 256k;
fastcgi_buffer_size 128k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/dev/shm/php-fpm-www.sock;
}
try_files $uri $uri/ /index.php?q=$uri&$args;
}
您实际的虚拟主机配置为ic0nic.co.uk
:
# /etc/sites-available/ic0nic.co.uk.conf
server {
server_name ic0nic.co.uk www.ic0nic.co.uk;
root /var/www/ic0nic.co.uk;
include sites-available/server.conf;
}
您实际的虚拟主机配置为sourproxy.co.uk
:
# /etc/sites-available/sourproxy.co.uk.conf
server {
server_name sourproxy.co.uk www.sourproxy.co.uk;
root /var/www/sourproxy.co.uk;
include sites-available/server.conf;
}
请注意,此配置远非理想。例如,index
指令应直接进入nginx.conf
上下文中http
。
您是否已验证 php-fpm 配置是否使用套接字而不是侦听 TCP 端口?检查池配置,如果一切正常,请输入netstat -an
,您应该会看到那里列出的 php-fpm 套接字。
始终检查错误日志。您可以简单地cat /dev/null > /var/log/nginx/error.log
清除日志文件。启动 nginx 和 php-fpm 并尝试打开您的网站。在此处发布日志文件的结果!