使用docker佈署wordpress

環境準備

本博客使用docker環境搭建,從而作到佈署簡單html

  • centos7環境(centos6跑docker要升級內核,也不建議這樣作)
  • 在centos7上安裝好docker環境docker安裝文檔
  • 在centos7上安裝好docker-composedocker-compose安裝文檔
  • 在centos7上安裝好nginx, 做爲反向代理使用
編寫docker-compose文件

下面是完整的docker-compose文件,文件描述的大意爲下載並啓動mysql和wordpress鏡像文件,mysql數據目錄掛載至本地/mnt/mysql目錄下、wordpress程序目錄掛載至本地/mnt/static目錄下,wordpress開放程序端口爲8080mysql

# docker-compose.yml
version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - /mnt/mysql:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: **********
       MYSQL_DATABASE: **********
       MYSQL_USER: **********
       MYSQL_PASSWORD: **********

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     volumes:
       - /mnt/static:/var/www/html
     ports:
       - "8080:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: **********
       WORDPRESS_DB_PASSWORD: **********
       WORDPRESS_DB_NAME: **********
volumes:
    db_data: {}
Nginx的配置

下圖的配置中,nginx打開了https,使用的是Lets encrypt 有不少配套工具能夠使用,我使用的是acme.shlinux

# wordpress.conf
upstream local {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    listen 443 ssl http2;
    ssl_certificate ssl/fullchain.cer;
    ssl_certificate_key ssl/zheaps.key;
    server_name blog.zheaps.cn;
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }


    location / {
        proxy_set_header X-Forwarded-Proto https;
        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_pass http://local;

    }
}
啓動程序

在docker-compose.yaml目錄下執行docker-compose up -d 便可nginx

關於網站安全

znb博客運行在阿里雲主機上,配置上要注意如下幾點:git

  • 安全組最小權限原則。 用到哪一個開哪一個,不要亂開端口
  • SSH必定要使用密鑰,比密碼安全的多
關於數據備份
  • 有條件能夠使用阿里雲的磁盤快照(會產生必定費用)
  • 若是不使用快照,則須要對數據庫目錄和wordpress程序目錄進行備份
相關文章
相關標籤/搜索