我有一个托管两个Django网站和一个wordpress博客的服务器,都在nginx上。我已经设置了一个Django站点在顶级域名服务,另一个站点在子域名。
当它在端口80上时,我无法使Wordpress站点正常工作。如果我将端口更改为8079,它可以正常工作。
以下是Wordpress网站的nginx配置文件:
server {
listen 80;
root /var/www;
index index.php index.html index.htm;
server_name sub2.mydomain.com;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
我注意到的一件事是,即使我将端口更改回80并重新启动nginx,当我在网络浏览器中转到网址时,它会重定向到端口8079.我不确定是否是由浏览器缓存,或DNS或我服务器上的东西引起的。
以下是我的其他nginx配置:
upstream mydomain_app_server {
server unix:/webapps/mydomain/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name www.mydomain.com;
client_max_body_size 4G;
access_log /webapps/mydomain/logs/nginx-access.log;
error_log /webapps/mydomain/logs/nginx-error.log;
location /static/ {
alias /webapps/mydomain/static/;
}
location /media/ {
alias /webapps/mydomain/media/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://mydomain_app_server;
break;
}
}
# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /webapps/mydomain/static/;
}
}
并且我的最后一个是相同的,除了具有不同的路径和以下server_name:
server_name sub2.mydomain.com;