我有(1)域和两个配置的路径: mysite.com blog.mysite.com
我正在尝试在我现有的wordpress
nginx服务器上配置mysite.com
博客,
mysite.com 的sites-enabled
配置为:
server {
listen 80;
server_name *.mysite.com;
root /home/ubuntu/virtualenv/mysite/mysite/myapp/;
access_log /home/ubuntu/virtualenv/mysite/error/access.log;
error_log /home/ubuntu/virtualenv/mysite/error/error.log warn;
connection_pool_size 2048;
fastcgi_buffer_size 4K;
fastcgi_buffers 64 4k;
location /static {
alias /home/ubuntu/virtualenv/mysite/mysite/myapp/static/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 10;
proxy_connect_timeout 10;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
blog.mysite.com 的sites-enabled
配置为:
server {
listen 80;
server_name blog.mysite.com;
root /home/ubuntu/virtualenv/blog;
index index.php;
#### errors
access_log /home/ubuntu/virtualenv/blog/error/access.log;
error_log /home/ubuntu/virtualenv/blog/error/error.log warn;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
fastcgi_buffer_size 4K;
fastcgi_buffers 64 4k;
#### locations
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
error.log
中的blog.mysite.com
文件显示错误:
2014/01/02 02:50:05 [crit] 29036#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xx.xxx, server: blog.mysite.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "blog.mysite.com"
任何人都知道为什么这不起作用?我尝试了一些研究,但似乎无法找到解决方案。
谢谢!
答案 0 :(得分:0)
如果在使用phpfm配置nginx时尝试添加子域或域时有人遇到此错误 - 请按照此帖中的步骤操作:https://askubuntu.com/questions/114076/ubuntu-php5-fpm-unix-socket
要点: sudo vim /etc/php5/fpm/pool.d/www.conf。
查找listen = 127.0.0.1:9000行并将其更改为listen = /var/run/php5-fpm.sock。完成后,重新启动PHP FPM:
sudo /etc/init.d/php5-fpm restart
希望这有助于某人:)
答案 1 :(得分:0)
实际上它与子域名没有关系,你只是没有使用正确的配置,你的fpm正在监听端口而不是sock文件,即使没有子域也不会有效,
您的主网站正在运行,因为它正在传递到端口8001
proxy_pass http://127.0.0.1:8001;
如果您传递到端口9000
,您的子域名可能有效proxy_pass http://127.0.0.1:9000;
但是修复它的方式更好,使用sock文件比端口更好。
只是想解释一下,这不是因为子域名。