使用主机 Nginx 反代 docker wordpress
nginx 的配置文件如下(省略不相干内容)
user root; # 这是由于 docker 容器内 WordPress 文件用户为 www-dataserver {
listen 80;
server_name *.amoyiki.com;
return 301 https://$host$request_uri;
}
upstream wordpress-workhorse {
server 127.0.0.1:8000 fail_timeout=10s;
}
server {
server_name blog.amoyiki.com;
listen 443 ssl;
ssl on;
ssl_certificate /ssl/path/fullchain.pem;
ssl_certificate_key /ssl/path/privkey.pem;
access_log /var/log/nginx/access.log main;
# 主机中 WordPress 数据卷位置
root /var/lib/docker/volumes/blog_wp_site/_data;
location / {
proxy_pass http://wordpress-workhorse;
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 X-Forwarded-Proto https;
}
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires 7d;
access_log off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
错误合集
nginx error Permission denied
“/var/lib/docker/volumes/myblog_wp_site/_data/wp-includes/css/dashicons.min.css” failed (13: Permission denied)
之前我 nginx.conf user 使用的是默认的 nobody 无法读取 docker 中 wp 的 www-data 这个用户组数据,所以直接将 nginx 用户提到 root,这个之后可以优化
您可能感兴趣的文章:Docker中部署mysql服务的方法及遇到的坑docker官方mysql镜像自定义配置详解浅析docker-compose部署mysql无法访问的问题Docker安装常用组件(mysql,redis)的方法Docker创建运行多个mysql容器的方法示例docker 搭建Mysql集群的方法示例CentOS版本问题安装Docker报错的解决方案使用docker创建静态网站应用(多种方式)vue-cli3 项目从搭建优化到docker部署的方法Docker创建MySQL的讲解










