背景
wordPress/ target=_blank class=infotextkey>WordPress, 它是一個基于php和MySQL的開源的博客
常規的安裝,我們需要手動一個一個安裝PHP,MySQL, Apache/Nginx, 之后下載WordPress的安裝包,非常麻煩。
通過Docker方式部署,環境配置部分就得到了簡化,不需要折騰Apache或者NGINX等
Docker安裝
網上比較多此處省略,本文主要記錄wordpress安裝細節,規避日常安裝的坑
安裝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容器在運行時會因為權限不足而報錯,所以需要增加該選項
啟動wordpress容器
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
在宿主機安裝Nginx
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證書申請。
歡迎關注。