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,非常适合个人博客。
Docker部署WordPress网站的更多相关文章
- 用lnmp架构部署wordpress网站详细步骤
用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...
- 24.docker 部署 wordPress
1. 拉取远程 mysql 和 wordpress 镜像 并 启动起来 使用 docker pull mysql:5.7.27 docker pull wordpress 2. 创建mysql 的 c ...
- 使用docker部署WordPress博客系统(win10企业版)
docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...
- Docker学习笔记 - Docker部署nginx网站
一.制作 nginx 镜像 1.下载配置文件 mkdir /opt/nginx_docker && cd /opt/nginx_docker mkdir nginx && ...
- docker 学习(九) docker部署静态网站
一: dockerfile, 把Dockerfile和myfolder放在一个目录下: FROM httpd:2.4 COPY ./myfolder/ /usr/local/apache2/htdo ...
- 快速搭建基于Azure Paas的高可用WordPress网站
产品详情 产品介绍 WordPress是一种使用非常广泛的CMS系统.本应用是根据Azure Resource Manager模板创建的.通过该ARM模板可以快速建立web应用和MySQL数据库,部署 ...
- Docker Swarm应用--lnmp部署WordPress
一.简介 目的:使用Docker Swarm 搭建lnmp来部署WordPress 使用Dockerfile构建nginx.php镜像 将构建的镜像上传docker私有仓库 使用volume做work ...
- Docker自学纪实(四)搭建LNMP部署wordpress
我们在工作中最常用的就是LNMP网站平台 这个架构呢,是整个公司网站的核心 如果对于访问量较小的网站,可以直接在服务器上面部署 而如果是访问量很大的网站,那负载就是个很大的问题. 要么需要再买很多服务 ...
- 【docker构建】基于docker构建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...
随机推荐
- dp四边形优化
如果dp[i][j]=min(dp[i][k]+dp[k+1][j]+w[i][j]);且满足dp[a][c]+dp[b][d]<=dp[a][d]+dp[c][d](a<b<=c& ...
- 【转】解决 canvas 在高清屏中绘制模糊的问题
来源: http://www.css88.com/archives/9297 使用 canvas 绘制图片或者是文字在 Retina 屏中会非常模糊.如图: 因为 canvas 不是矢量图,而是像图片 ...
- 018_STM32程序移植之_串口接收中文
(一)在平时数据传输中很少用到接收中文的情况,但是最近需要用到就花了半天时间来弄弄 (二)接收原理,从现在接收情况分析:一个中文占两个数据的空间,也就是两个十六进制可以转化成为一个中文 (三)示例情况 ...
- .NET调用AS/400上的程序(.NET CALL AS/400 PGM)
http://www.3rgb.com/entry/dotnet_call_as400_program2 .NET连接AS400出现[Safe handle has been closed http: ...
- react 后台(一) react + redux + react-route + webpack+ axios + antd + less
create-react-app 项目名称(项目失败,ant 的样式出不来) 项目技术栈 react + redux + react-route + webpack+ axios + less + a ...
- luogu2034
/* * 正难则反 * f[i] 表示前 i 个数中被删除的数的最小和 * f[i] = min(f[j]) + num, i - k + 1 <= j < i; * 单调队列维护 */ ...
- Hihocoder #1333 : 平衡树·Splay2
1333 : 平衡树·Splay2 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:好麻烦啊~ 小Hi:小Ho你在干嘛呢? 小Ho:我在干活啊!前几天老师让我帮忙 ...
- tarjan模板(带注释)
//dfsn[x]记录x节点有没有被访问过,有,则是第几个 //lowlink[x]记录x能到的祖先中编号最小的 //dfs_clock是个编号累计器 //scc记录一个 inline void df ...
- 前端逼死强迫症之css续集
上节内容回顾 如果点击图片调转到连接,a标签下套img标签,在IE有的版本中,会有蓝色边框. 因为a标签默认字体颜色就是蓝色,img标签继承了父级标签,而IE浏览器默认给边框加了宽度.解决: < ...
- python中heapq对dict进行排序
问题: 想从以下形式的dict中取value最大的2个key-value的key dict_num_num = {0: 0.07374631268436578, 1: 0.16307692307692 ...