您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

docker创建WordPress并强制使用https的方法

龙绍焱2025-03-28WordPress教程已有人查阅

导读1、创建数据文件夹 mkdir /data ,所有文件都在此配置。2、安装docker,3、配置mysql:-p 3306:3306 端口映射--name mysql 自定义容器名-e MYSQL_ROOT_PASSWORD=yourpassword 配置mysql默认密码

1、创建数据文件夹 mkdir /data ,所有文件都在此配置。
2、安装docker,
3、配置mysql:
mkdir /data/mysql
cd /data/mysql
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yourpassword -m 512m --memory-swap -1 --oom-kill-disable -d mysql:5.7
说明:
-p 3306:3306 端口映射
--name mysql 自定义容器名
-e MYSQL_ROOT_PASSWORD=yourpassword 配置mysql默认密码
-m 512m --memory-swap -1 配置允许较大内存及交换空间-1表示无限
--oom-kill-disable 防止系统内存不足时自动杀进程
设置mysql允许外网访问
docker exec -it mysql bash #进入容器内部
mysql -u root -p #进入mysql,密码为刚设置的密码
grant all privileges on *.* to 'root'@'%' ; #允许远程登录
flush privileges; #刷新权限
exit #退出mysql
exit #退出容器
#重启mysql容器
docker restart mysql
4、配置WordPress:
mkdir /data/wordpress
cd /data/wordpress
docker run --name wordpress -p 8002:80 -e WORDPRESS_DB_HOST=172.17.0.1:3306 -v /data/wordpress/ /html/:/var/ /html/ -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=yourpassword -m 512m --memory-swap -1 --oom-kill-disable -d wordpress
说明:
-p 8002:80将主机8002端口映射到容器80端口
-e WORDPRESS_DB_HOST=172.17.0.1:3306 使用外部mysql
-e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=yourpassword 外部mysql用户名密码
-v /data/wordpress/ /html/:/var/ /html/ 映射WordPress的程序文件夹
-m 512m --memory-swap -1 配置允许较大内存及交换空间-1表示无限
--oom-kill-disable 防止系统内存不足时自动杀进程
5、配置nginx:
docker run -p 80:80 -p 443:443 --name nginx -v /data/nginx/ :/-v /data/nginx/conf.d:/etc/nginx/conf.d -v /data/nginx/cert:/etc/nginx/cert -v /data/nginx/logs:/ logs -m 64m --memory-swap -1 --oom-kill-disable -d nginx
说明:
-v /data/nginx/conf.d:/etc/nginx/conf.d 映射配置文件
-v /data/nginx/cert:/etc/nginx/cert 映射证书文件
证书可以选择使用阿里云的证书,免费一年,到期再申请一次就行了。
下载nginx证书,并上传到/data/nginx/cert目录
配置反向代理:
cd /data/nginx/conf.d
vi home.conf
server {
listen 80;
server_name.yoursite.com;
return 301 https:// .yoursite.com$request_uri; #自动跳转http到https
}
server {
listen 443;
server_name.yoursite.com;
ssl on;
ssl_certificate /etc/nginx/cert/3666270_yanglei.xyz.pem;
ssl_certificate_key /etc/nginx/cert/3666270_yanglei.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取真实ip
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.17.0.1:8002;
client_max_body_size 10240m;
}
}
保存重启nginx: docker restart nginx
6、修改WordPress:
配置完之后发现无法加载js及css,解决办法如下:
进入WordPress程序目录 cd /data/wordpress/ /html ,修改配置 vi wp-config.php
在第一段注释后面增加以下代码:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
之后访问WordPress并安装就可以了,而且已经全站https了,不需要再做其他额外配置。如果在修改前安装好了WordPress,不知道再这样改行不行。

本文标签:

很赞哦! ()

相关源码

  • (自适应)帝国CMS7.5模板淘宝客导购博客文章源码本模板基于帝国CMS7.5内核深度开发,为电商导购类网站设计。采用响应式布局技术,确保在手机、平板及电脑端均能获得优质浏览体验。模板内置商品推荐模块与优惠信息展示区,可快速搭建专业导购平台。查看源码
  • (自适应手机端)锁锁芯锁具网站pbootcms模板 智能防盗锁网站源码下载本模板基于PbootCMS系统开发,为智能锁具、防盗锁芯及相关安防产品企业设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验,数据实时同步更新。查看源码
  • (自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码
  • (响应式)蓝色智能摄像头安防防盗电子设备免费pbootcms源码下载这是一款针对智能安防行业特点设计的网站模板,采用蓝色系配色方案,体现科技感和安全性。模板包含产品展示、解决方案、技术支持和新闻中心等核心模块,能够全面展示智能安防设备的技术特点和行业应用。查看源码
  • 帝国cms7.5商城模板带图片视频广告位功能本模板基于帝国CMS7.5内核开发,为内容电商平台设计,集成文章、图片、视频多媒体展示与广告位管理功能。采用智能响应式技术,确保商品内容在不同设备上获得较优呈现效果,帮助快速构建专业的内容营销平台。查看源码
  • (自适应响应式)高端网站建设设计公司互联网营销网站pbootcms模板本模板基于PbootCMS内核开发,为网站建设公司和互联网营销企业量身打造。采用响应式设计,适配各种移动设备,提供统一的后台管理体验查看源码
分享笔记 (共有 篇笔记)
验证码: