使用 Nginx 作为子目录托管 Wordpress 博客

使用 Nginx 作为子目录托管 Wordpress 博客

我有一个现有的 Meteor 应用程序,并使用 Nginx 作为我的服务器,比如说在 example.com

我想添加一个 wordpress 博客,可以通过 example.com/blog 访问

我还希望我的博客存在于它自己的 droplet(服务器)上,但如果它需要在同一个 droplet(服务器)上,那么也可以。

我该怎么做呢?

我已经能够让它与server_nameblog.example.com 上的不同服务器块一起工作。我还让静态文件可以在 example.com/blog/index.html 上的子目录下访问。所有内容都存在于同一个 droplet(服务器)上

但是我无法通过 example.com/blog 访问 wordpress 应用程序。

编辑:

我最终做的是创建一个新的服务器实例 (droplet),并使用 LEMP 堆栈和 NGINX 对其进行配置。如果我尝试访问 IP,它就会工作。

现在,在我的实际服务器上添加了一个位置块

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;
}

我遇到的新问题是,我的博客无法在 chrome 中加载 .css 文件,因为我的代理服务器配置为 https,而 wordpress 通过 http 加载文件。您可以在此查看https://juerix.com/blog

所以我进入我的wp-config文件并更改了网站和 wordpress url https://juerix.com/blog。没有帮助。

答案1

我花了一段时间才弄清楚。关键在于 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;

}

这是我发现的另一个有用的信息

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

下面是我使用的另一个位置块,仅作为示例

# 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";
}

相关内容