У меня есть WordPress блог, который обслуживается apache2 (на порт 80) и nginx (на порт 8080) на Ubuntu 12.04. Теперь всякий раз, когда клиент подключается через порт 80, все просто, но когда клиент подключается к 8080 для просмотра того же блога, соединение перенаправляется на apache. Почему это происходит? Я искал вокруг и обнаружил, что это ограничение Wordpress, которое перенаправляет все соединения на URL-адрес сайта, установленный на панели мониторинга (по умолчанию это порт 80).
Есть ли способ обойти это? что соединения с портом 8080 будут обслуживаться nginx, а не apache
Содержимое / etc / nginx / sites-enabled / wordpress
server {
listen 8080;
root /var/www;
index index.php index.html index.htm;
server_name abc.com;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SERVER_PORT 8080;
port_in_redirect off;
}
Любая помощь приветствуется.
Ответы:
Я решил это !! вот как:
Отредактируйте текущую тему
functions.php
и добавьте следующую строку после открывающего тега PHP, чтобы отключить каноническое перенаправление.remove_filter('template_redirect','redirect_canonical');
Сохранить и выйти.Перезапустите apache2 и nginx и проверьте с помощью
curl -I IP
.источник
Та же проблема. В моей ситуации я установил порт сервера
3030
для размещения других серверов. В любом случае, без добавления какого-либо кода в какие-либоfunctions.php
файлы, я решил проблему, изменив значения сайта и домашней страницы вwp_options
таблице на настройки домена и порта.Например,
Казалось, все работает нормально оттуда. 👍
источник