Hospedando um Blog Wordpress usando Nginx como subdiretório

1

Eu tenho um aplicativo de meteoro existente e estou usando o nginx como meu servidor, digamos em example.com

Eu quero adicionar um blog do wordpress, que deve ser acessado em example.com/blog

Eu também prefiro que meu blog exista em seu próprio droplet (servidor), mas se ele precisa estar no mesmo droplet (servidor), então está tudo bem.

Como faço isso?

Consegui fazê-lo funcionar com um bloco de servidores diferente com um% diferente% no blog.example.com. Também obtive arquivos estáticos para serem acessados em um subdiretório em example.com/blog/index.html. Isto onde tudo existe no mesmo droplet (servidor) .

Mas não consigo que uma aplicação de wordpress seja acessível através de example.com/blog.

EDITAR:

O que acabei fazendo é criar uma nova instância do servidor (droplet), configurada com a pilha LEMP e o NGINX. Funciona se eu tentar acessar o IP.

Agora, no meu servidor real, adicionei um bloco de localização

location /blog {
    rewrite ^/blog/(.*)$ /$1 break;

    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_pass http://wordpress-server-ip;
    proxy_redirect off;
}

Meu novo problema é que meu blog não é capaz de carregar os arquivos .css no chrome porque, meu servidor proxy está configurado para https e o wordpress carrega os arquivos por http. Você pode verificar isso no link .

Então entrei no meu arquivo server_name e mudei o site e o wordpress url wp-config . Não ajudou.

    
por nupac 03.11.2016 / 10:59

1 resposta

1

Isso me levou um tempo para trabalhar. A chave está na linha try_files.

# Default location to serve
location / {
  # If the file can't be found try adding a slash on the end - it might be
  # a directory the client is looking for. Then try the Wordpress blog URL
  # this might send a few requests to PHP that don't need to go that way
  try_files $uri $uri/ /blog/index.php?$args;

}

Aqui está outro bit que eu achei útil

# Add trailing slash to */wp-admin requests.
rewrite /blog/wp-admin$ $scheme://$host$uri/ permanent;

Aqui está outro bloco de localização que usei, apenas como um exemplo

# Rate limit wp-login.php to help prevent brute force attacks
location = /blog/wp-login.php {
  # Next line applies the rate limit defined above
  limit_req zone=login burst=3;
  fastcgi_keep_conn on;

  fastcgi_pass php56-fpm;
  include        fastcgi_params;
  fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  more_clear_headers "Cache-Control";
   more_clear_headers Server; more_clear_headers "Pragma"; more_clear_headers "Expires";

  # No caching
  more_clear_headers "Cache-Control";
  add_header Cache-Control "private, max-age=0, no-cache, no-store";
  more_clear_headers "Expires";
}
    
por 03.11.2016 / 20:01