Eu tenho um blog wordpress que é servido por apache2 (na porta 80) e nginx (na porta 8080) no Ubuntu 12.04. Agora, sempre que um cliente se conecta via porta 80, tudo fica muito ruim, mas quando um cliente se conecta ao 8080 para visualizar o mesmo blog, a conexão é redirecionada para o apache. Por que isso está acontecendo? Eu procurei e descobri que essa é uma limitação do Wordpress, que redireciona todas as conexões ao URL do site definido no painel (que é a porta 80 por padrão).
Existe uma maneira de contornar isso? que as conexões com a porta 8080 seriam atendidas por nginx em vez de apache
Conteúdo de / 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;
}
Qualquer ajuda é apreciada.
Respostas:
Eu resolvi !! aqui está como:
Edite o tema atual
functions.php
e adicione a seguinte linha após a tag PHP de abertura para desativar o redirecionamento canônico.remove_filter('template_redirect','redirect_canonical');
salvar e sair.Reinicie o apache2 e o nginx e verifique com
curl -I IP
.fonte
Mesmo problema. Na minha situação, defino a porta do servidor em
3030
, para acomodar outros servidores. De qualquer forma, sem precisar adicionar nenhum código a nenhumfunctions.php
arquivo, resolvi o problema alterando os valores de site e home nawp_options
tabela para a configuração de domínio e porta.Por exemplo,
Tudo parecia funcionar bem a partir daí. 👍
fonte