最近同學買了一臺虛機( centos7 系統 )、一個域名,讓幫忙搭一個個人部落格。本著簡單快捷,個人部落格採用 wordpress 來搭建。為了以後部落格系統的遷移方便,使用 docker 來安裝 wordpress。下面是這次部落格搭建的詳細過程。
一、更新 centos
yum -y update
複製程式碼
二、安裝 docker
yum install docker
複製程式碼
啟動 docker:systemctl start docker
設定開機啟動:systemctl enable docker
三、安裝 docker-compose
docker-compose 是佈署多個容器的簡單有效工具,由於部落格系統搭建需要安裝 wordpress 、mysql 兩個容器,所以採用 docker-compose 來佈署。docker-compose 的安裝有不同的方式,這裡採用的是 pip 安裝。
1、安裝 python-pip
yum -y install epel-release
yum -y install python-pip
複製程式碼
2、升級 pip
pip install --upgrade pip
複製程式碼
檢視安裝是否成功:pip -V
3、安裝 docker-compose
pip install docker-compose
複製程式碼
報錯:
Cannot uninstall “requests”. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
複製程式碼
處理:
pip install docker-compose --ignore-installed requests
複製程式碼
四、編寫 docker-compose 指令碼檔案 docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress123
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress123
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "9090:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress123
volumes:
db_data: {}
複製程式碼
五、使用 docker-compose 構建並執行程式
在 docker-compose.yml 的目錄下執行
docker-compose up -d
複製程式碼
瀏覽器輸入:http://0.0.0.0:9090 進入 wordpress 安裝頁面
六、繫結域名
由於以後還會在這臺機器上佈署其他系統,所以沒有給 wordpress 暴露到 80 埠,在繫結域名前需要用 nginx 做層代理
1、安裝 nginx
yum install -y nginx
複製程式碼
2、配置 nginx
# vim /etc/nginx/nginx.conf
...
http {
...
server {
listen 80;
server_name xxx.com;
location / {
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 REQUEST-URI $request_uri;
proxy_set_header Cookie $http_cookie;
proxy_pass http://localhost:9090;
proxy_cookie_domain domino.server nginx.server;
proxy_redirect off;
}
}
}
複製程式碼
3、啟動 nginx 並設定開機自動執行
systemctl start nginx.service
systemctl enable nginx.service
複製程式碼
4、wordpress 設定,進入 wordpress 管理頁面
二個 URL 都設定為域名
如果不設定 URL,每次訪問域名會自動跳轉到 http://ip:port
瀏覽器輸入 xxxx.com ,一個個人部落格誕生了。