Nginx反向代理wordpress站点
目录1 问题描述wordpress80端口冲突被nginx占用了2 解决步骤1 将docker-wordpress容器的80端口映射到主机的82端口2 nginx配置域名转发至82端口3 修改docker-wordpress的wp-config.php配置(解决wordpress样式丢失问题)3 硬广告微预约小管家,您贴心的预约管家1 问题描述按照网上大部分的wordpress搭建教程,默认使用8
目录
1 将docker-wordpress容器的80端口映射到主机的82端口
3 修改docker-wordpress的wp-config.php配置(解决wordpress样式丢失问题)
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_format main '$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.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/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 硬广告
个人闲暇时间做了一款微信预约小程序,如果您有场地预约、实验室预约、课程预约、办事预约需求,可以尝试使用下这一款预约小程序。
微预约小管家,您贴心的预约管家
更多推荐
所有评论(0)