let_wordpress_proxied_by_nginx
让Nginx 来代理 Wordpress 提供服务
前提
- nginx 对外提供服务的wordpress 路径为: http://www.example.com/blog
- wordpress 服务的实际地址为 http://127.0.0.1:8080
步骤一 设置 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; }
# 重新加载 nginx 配置 $ systemctl reload nginx
步骤二 设置 Wordpress
修改 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']);
查看wordpres 数据库的 wp_options 表
- 修改 option_name 为 siteurl 的 option_value 为 /blog
- 修改 option_name 为 home 的 option_value 为 /blog
参考链接
let_wordpress_proxied_by_nginx.txt · 最后更改: 由 127.0.0.1