1. 程式人生 > >十分鐘快速搭建wordpress服務

十分鐘快速搭建wordpress服務

所有 lin 通過 便在 主機 htm url class nta

  wordpress服務需要對應的mysql數據庫服務,安裝wordpress之前需要先搭建好數據庫服務。現在都流行基於拉取鏡像啟動docker容器方式提供服務,因此需要一臺能上外網的1核1G的機器,在機器上安裝好docker。

1.安裝mysql數據庫

a. 拉取mysql鏡像

docker pull mysql:5.7

b.啟動mysql容器服務

docker run --name mysql-db -v /data/mysql:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.7

數據庫的數據文件則會保存在系統/data/mysql目錄下,即使下次重新啟動或者重新創建一個mysql容器,數據也不會丟失。通過docker ps -a 查看容器狀態,若執行失敗,docker logs containerID 查看錯誤日誌。還可以通過docker的參數-p 將容器端口映射到宿主機端口,方便在本地機器訪問數據庫服務。

docker run --name mysql-db -p 3306:3306 -v /data/mysql:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.7

若啟動的時候未映射端口,後期可以手動通過iptables進行配置

iptables -t nat -A DOCKER -p tcp --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 
iptables --list iptables -t nat --list docker

容器的ip可以通過docker inspect containerID查看

c.創建數據庫

默認的用戶名是root,密碼是通過MYSQL_ROOT_PASSWORD指定的值。

docker exec -it containerID sh 
mysql -uroot -p 
create database wordpress default charset utf8

d.本地連接mysql

本地用圖形化工具連接mysql,方便操作,比如Navicat。mysql容器的端口已經映射到宿主機上3306,輸入機器的ip,port進行連接,若報錯:

Client does not support authentication protocol,

則按照c步驟進入數據庫,執行

ALTER USER root@% IDENTIFIED WITH mysql_native_password BY root; FLUSH PRIVILEGES;

2.安裝wordpress

a.拉取wordpress鏡像

docker pull wordpress

b.啟動wordpress容器

docker run -v /data/wordpress/wp-content:/var/www/html/wp-content --name my-wordpress --link mysql-db:db -p 80:80 -d wordpress

–link的意思就是wordpress關聯了剛才安裝好的mysql容器,後面的db只是一個別名。wp-content目錄映射到容器,這樣就可以備份網站的內容了(模板或者插件),再次啟動wordpress服務所有的配置不會丟失。如果網站之前是ip,現在改由域名訪問,請修改wp_options表中對應的siteurl以及home地址,重啟容器即可。因為這個wp-content目錄是mount到容器內部的,即使在宿主機上chmod 777 content/*,可能還是無法上傳圖片或者文件,執行以下操作即可。

docker exec -it containerId sh
chown -R www-data:www-data wp-content/*

3.創建wordpress服務

執行docker ps ,確定兩個容器都正常啟動之後,用瀏覽器訪問http://ip:80/,按照引導操作就行。

十分鐘快速搭建wordpress服務