У меня есть сервер, на котором размещены два сайта Django и WordPress блог, все на nginx. Я настроил один сайт Django для обслуживания на домене верхнего уровня, а другой — на поддомене.
Мне не удалось заставить сайт WordPress работать, когда он находится на порте 80. Если я изменю порт на 8079, он будет работать правильно.
Вот мой конф nginx для сайта WordPress:
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, когда я захожу на URL в моем веб-браузере, он будет перенаправлен на порт 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 sub2.mydomain.com;
Задача ещё не решена.
Других решений пока нет …