Docker部署WordPress网站
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,WordPress 不仅仅是一个博客程序,也是一款CMS,很多非博客网站也是用WordPress搭建的。WordPress一般的安装方法是,在服务器上安装PHP,MySQL, Apache/NGINX之后下载WordPress的安装包,进行编译安装;自从docker容器出现后,WordPress安装较之前方便快许多。
安装Docker
在Centos系统上安装docker非常简单,只需要按照官方网站提供步骤进行操作即可,建议安装社区版的docker-ce也方便后期的维护。
安装WordPress
安装WordPress涉及到两个重要的镜像WordPress和MySQL,只需要解决好这两个关键docker容器,WordPress搭建就易如反掌。
1.MySQL安装
docker run -d --privileged=true --name zhouli-mysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD= -p : mysql:5.7.
①--privileged=true;避免出现因为权限出现的异常
②--name;容器名
③-v;把数据库的数据挂载在宿主机指定的路径,保存数据
④-e;MYSQL_ROOT_PASSWORD设定root的登陆密码
⑤-p;设定对外开放的端口,如果只是内部使用也可以不用
补充:MySQL版本尽量根据WordPress的要求,避免出现不必要的异常
2.WordPress安装
docker run -d --name zhouli-wordpress -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD= -p : --link zhouli-sql:mysql wordpress
①-e;WORDPRESS_DB_HOST=mysql指定MySQL的连接地址,WORDPRESS_DB_PASSWORD也是root权限的连接密码
②--link;可以使用自定义的名称连接关联容器
③-p;指定映射端口为1080,为下一步nginx代理端口做准备
补充:默认是下载docker hub中最新的wordpress镜像
安装完毕后查看两个容器是否正常启动
最后调试
①nginx端口转发;把1080端口映射成80端口,为外网提供服务,并且新增判断模块强制http跳转https的功能,以下为具体实例。
upstream wp {
server 127.0.0.1:1080 ;
check interval=1000 rise=2 fall=2 timeout=3000 type=tcp port=1080;
} server {
listen 80;
server_name www.zhouzhifei.com zhouzhifei.com;
#access_log /data/log/nginx/zb.access.log main;
#error_log /data/log/nginx/zb.error.log;
root html;
if ( $scheme = http ){
return 301 https://$server_name$request_uri;
}
location / {
proxy_pass http://wp;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_next_upstream error timeout http_502;
}
}
②调整https;可以在nginx配置SSL证书,但亲测过需要修改的地方比较多,所以建议使用http普通模式,登陆后台下载Really Simple SSL插件,直接勾选开启SSL。
③关于模板;WordPress有很多优秀的模板,推荐使用Kratos,非常适合个人博客。
最新文章
- DataTable数据检索的性能分析(转寒江独钓)
- centos7查看端口命令
- Struts2、Spring MVC4 框架下的ajax统一异常处理
- hdu 3709 数位dp
- Mina工具类v1.5
- linux crt
- css3实现钟表特效
- BZOJ2751: [HAOI2012]容易题(easy)
- java学习基础
- C++学习之友元类和友元函数
- select, poll, epoll的实现分析
- mysql 不同索引的区别和适用情况总结
- hbuilder + 夜神模拟器
- 经典算法问题的java实现 (二)
- winform版的dota改键器
- 常见Web应用程序漏洞
- C#处理MySql多个返回集的方法
- AndroidA——背景选择器selector用法汇总(一)
- python文件的只读,只写操作
- Hibernate 之核心接口
热门文章
- Excle导出优化(poi)
- BZOJ 3812 主旋律 (状压DP+容斥) + NOIP模拟赛 巨神兵(obelisk)(状压DP)
- SP703 SERVICE - Mobile Service
- Gradle 发布 Jar 到 Archiva 时提示不能 Overwriting released artifacts is not allowed
- 在Ubuntu上安装openResty #1
- js 选择文本
- 中国传统色彩名录及其RGB值
- Centos 查看CPU个数、核心数等信息
- Robot Framework(十六) 扩展RobotFramework框架——使用监听器接口
- Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写