Nginx反向代理wordpress站点
2022-07-29 10:13:20
136
{{single.collect_count}}

目录

1 问题描述

wordpress80端口冲突被nginx占用了

2 解决步骤

1 将docker-wordpress容器的80端口映射到主机的82端口

2 nginx配置域名转发至82端口

3 修改docker-wordpress的wp-config.php配置(解决wordpress样式丢失问题)

3 硬广告

微预约小管家,您贴心的预约管家


1 问题描述

按照网上大部分的wordpress搭建教程,默认使用80端口作为wordpress访问。但是发现80端口冲突被nginx占用了,导致wordpress无法用默认80端口访问。

wordpress80端口冲突被nginx占用了

以下方案将使用nginx反向代理转发至wordpress站点,解决80端口冲突问题。

 

2 解决步骤

1 将docker-wordpress容器的80端口映射到主机的82端口

docker run --name blog -p 82:80 -e WORDPRESS_DB_HOST={数据库ip}:3306 -e WORDPRESS_DB_USER={数据库用户名} -e WORDPRESS_DB_PASSWORD={数据库密码} -e WORDPRESS_DB_NAME={数据库DB名称} -d wordpress

-p 82:80 将容器的80端口映射主机的82端口

2 nginx配置域名转发至82端口

# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;worker_processes auto;error_log /var/log/nginx/error.log;#pid /var/log/nginx/nginx.pid;pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;events {worker_connections 10240;}http {log_formatmain'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log/var/log/nginx/access.logmain;sendfileon;tcp_nopushon;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_typeapplication/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;upstream blog {server xxx.xx.xx.xxx:82 weight=1 max_fails=2 fail_timeout=20;}server {listen 80;server_name www.you_doamin.com *.you_doamin.cn;# Redirect all non-https requests# rewrite ^ https://$host$request_uri?/demo1 permanent;location / {root /data/www;proxy_pass http://blog;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}}

server_name是域名配置

upstream路由配置wordpress站点地址,xxx.xx.xx.xxx:82即本机ip的82端口

重启nginx

service nginx restart

3 修改docker-wordpress的wp-config.php配置(解决wordpress样式丢失问题)

define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/blog');define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/blog');

在wp-config.ph配置文件里添加WP_HOME、WP_SITEURL

修改wp-config.php是为了解决wordpress样式丢失问题。nginx重启后,可以访问wordpress站点,但是样式丢失了。

见上图wordpress的css文件请求url错误,css的域名是blog,而非你的实际域名。

所以需要修改wp-config.php,wordpress将blog占位符替换你的实际域名。

docker restart blog

重启docker既可访问wordpress

 

3 硬广告

个人闲暇时间做了一款微信预约小程序,如果您有场地预约、实验室预约、课程预约、办事预约需求,可以尝试使用下这一款预约小程序。

微预约小管家,您贴心的预约管家

https://blog.csdn.net/czx0132/article/details/109134306

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}