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=123456 -p 33306:3306 mysql:5.7.21

①--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=123456 -p 1080:80 --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,非常適合個人博客。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM