wordPress/ target=_blank class=infotextkey>WordPress, 它是一个基于php和MySQL的开源的博客
常规的安装,我们需要手动一个一个安装PHP,MySQL, Apache/Nginx, 之后下载WordPress的安装包,非常麻烦。
通过Docker方式部署,环境配置部分就得到了简化,不需要折腾Apache或者NGINX等
网上比较多此处省略,本文主要记录wordpress安装细节,规避日常安装的坑
拉取WordPress的镜像
docker pull wordpress:latest
再拉取一个MySQL容器,
docker pull mysql:5.6
运行MYSQL容器
docker run -d --privileged=true --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 33061:3306 mysql:5.6
-p: 端口映射,33306表示宿主,3306表示容器中的端口。 这里表示将宿主机的33306映射给镜像的3306.
-e: 环境变量, 环境变量和具体的Docker容器制作时设置有关,这里表示设置镜像中MySQL的root 密码时123456
-v: 指定数据卷,也就是将我们MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql
--privileged=true: centos系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项
docker run -d --name mwp -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 1080:80 --link myMysql:mysql wordpress
"WORDPRESS_DB_HOST": 链接的docker的MySQL的IP地址和端口,一般设置成mysql表示用默认的设置
"WORDPRESS_DB_USER": 以什么用户使用MySQL,默认是root
"WORDPRESS_DB_PASSWORD" 这设置MySQL的登陆用户密码,由于上一项是默认的root,所以这一项和之前的"MYSQL_ROOT_PASSWORD“要相同。
"WORDPRESS_DB_NAME": 数据库的表名,不需要修改,用默认的”wordpress"就行
启动wp成功
考虑到后期还有其他web服务,我们开启的是8002端口,通过NGINX 做下反向代理,做一个虚拟机绑定到域名,从80端口转发到8002
useradd nginx -s /bin/bash # 此处必须能登陆, 服务需要使用 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum -y install nginx
配置虚拟主机
server { listen 80; server_name 80ht.com; charset utf-8; # max upload size client_max_body_size 75M; # daphne 反向代理 location / { proxy_pass http://0.0.0.0:8002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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 X-Forwarded-Host $server_name; proxy_read_timeout 600s; proxy_send_timeout 600s; } }
站已通过80端口访访问
到此一个wordpress网站已经部署成功。
后期将介绍如何开启HTTPS安全访问,如:SSL证书申请。
欢迎关注。