wordpress + docker + https 各种疑难杂症
总体流程: https://zhuanlan.zhihu.com/p/514684587
启用https后,后台css加载问题:
原文链接:wordpress配置https(SSL)无法登录后台&页面样式丢失 – 听可科技-高端网站建设公司 (tkwlkj.com)
文章编辑界面出现空白:暂时没有找到好的修复方法,可以通过安装经典编辑插件或markdown编辑插件来绕过这个问题。更新到6.4.3后似乎解决了这个问题。
迁移后文章中的图片无法正常加载:文章内容中的图片链接还是旧域名,需要修改:
UPDATE dbname.wp_posts SET post_content = REPLACE( post_content, ‘旧域名’, ‘新域名’ );
docker注意点:
需要开放80和21端口,21其实也可以不用,但为了保险。
wordpress下载插件和更新等操作并不需要对docker容器的目录做挂载,挂载可以没有,但有备无患可以挂一下容器的用户主目录用来传文件
如果要做docker镜像,不要把wordpress的目录放到/var/www/html下面,也不要放到一个挂载映射到物理机的目录里。这两种情况都会导致制作镜像的时候镜像不包含wordpress文件。
宿主机Nginx配置方法:
nginx.conf文件:
在http块中加入以下代码:
upsteam templalaland {
server 127.0.0.1:11000;
}
sites-enable的配置文件:
server {
listen 443 ssl http2;
server_name lalaland.wlzy.online;
location / {
proxy_pass http://templalaland/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_ssl_server_name on;
}
ssl on;
ssl_certificate /etc/letsencrypt/live/wlzy.online/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/wlzy.online/privkey.pem; # managed by Certbot
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
gzip on;
gzip_min_length 5k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types text/plain application/json application/javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
gzip_vary on;
}
server {
listen 80;
server_name lalaland.wlzy.online;
add_header Strict-Transport-Security max-age=15768000;
location / {
proxy_pass http://templalaland/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}