gpt4 book ai didi

wordpress - NGINX 代理到 wordpress 网站

转载 作者:行者123 更新时间:2023-12-04 00:07:01 26 4
gpt4 key购买 nike

我有一个静态服务的站点(使用 nginx)。
我想在/blog 文件夹下托管一个 wordpress 博客(托管在不同的实例上)。
使用 nginx 代理时:

location /blog/ {
proxy_set_header X-Is-Reverse-Proxy "true";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://55.555.55.555;
}

以及以下 wp-config.php:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://SOMESITE.com/blog/');

来自 wp-content (和 wp-includes )的所有文件都没有被正确提供,因为它们是在 http://SOMESITE.com/wp-content/* 下搜索的
而不是 http://SOMESITE.com/blog/wp-content/*

添加一些额外的代理规则 不起作用 ,例如:
location ~* (\/wp-content) {
proxy_set_header X-Is-Reverse-Proxy "true";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://55.555.55.555;
}

重新定义 wp-config.php:
define('WP_SITEURL', 'http://SOMESITE.com/blog/');

会喜欢任何想法。
我也很确定这是一个常见的用例,但在这里找不到任何工作技巧。

谢谢。

最佳答案

我终于得到了一个为 Wordpress 博客工作的 NGINX 反向代理!

我的设置是一个由 NGINX 在端口 8080 上提供的 Wordpress 站点和一个在子目录“blog”上为 Wordpress 博客提供服务的默认站点(在端口 80 上)。 (例如 http://www.example.com/blog )。

在我的“默认站点”NGINX 配置中,我定义了以下反向代理位置:

location ^~ /blog/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

在 wp-config.php 我做了以下修改:
/** set the site URL */
define('WP_HOME','http://www.example.com/blog');
define('WP_SITEURL','http://www.example.com/blog');

/** Fix to get the dashboard working with the reverse proxy.*/
$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/", $_SERVER['REQUEST_URI']);

为了完整起见,以下是 Wordpress 博客的基本 NGINX 配置:
server {
listen 8080;
listen [::]:8080;
server_name example.com;
root /var/www/blog;
<...>
location / {
index index.php
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_index index.php;
}
}

版本:
  • Ubuntu 18.04
  • NGINX 版本 1.4
  • PHP 7.2
  • Wordpress 4.8.5
  • 关于wordpress - NGINX 代理到 wordpress 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38205743/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com