使用docker-compose &WordPress建站

使用docker-compose &WordPress建站

安裝docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
複製代碼
  • 若是出現網絡問題,直接用瀏覽器下載可執行文件放到/usr/local/bin目錄下便可

準備配置文件

  • 爲WordPress提供HTTPS支持的Nginx配置文件html

    mkdir -p  /root/wordpress/nginx/conf && mkdir -p  /root/wordpress/nginx/ssl \
    echo 'server { listen 80; server_name ${host_name}; rewrite ^(.*)$ https://${host_name}$1 permanent; } server { listen 443 ssl; server_name ${host_name}; #ssl證書文件位置(常見證書文件格式爲:crt/pem) ssl_certificate /etc/nginx/ssl/cert.pem; #ssl證書key位置 ssl_certificate_key /etc/nginx/ssl/cert.key; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location / { proxy_pass http://wordpress; proxy_cache_bypass $http_upgrade; # Proxy headers proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; # Proxy timeouts proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; } }' >> /root/wordpress/nginx/conf/route.conf
    複製代碼
    • 證書能夠從阿里雲免費申請,綁定到對應的**${host_name}**域名便可,並放置到/root/wordpress/nginx/ssl/目錄下(能夠自由修改,注意與下邊的yaml文件保持一致便可)
  • docker-compose yaml配置文件mysql

    echo 'version: '3.1' services: nginx: image: nginx container_name: wp_nginx restart: always ports: - 443:443 - 80:80 volumes: - /root/wordpress/nginx/conf:/etc/nginx/conf.d/ - /root/wordpress/nginx/ssl/:/etc/nginx/ssl/ wordpress: image: wordpress container_name: wp restart: always environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wp WORDPRESS_DB_PASSWORD: wp_db_lee WORDPRESS_DB_NAME: wp_db volumes: - wordpress:/var/www/html db: image: mysql:5.7 container_name: wp_mysql restart: always environment: MYSQL_DATABASE: wp_db MYSQL_USER: wp MYSQL_PASSWORD: wp_db_lee MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db:' >> /root/wordpress/wordpress.yaml \
    docker-compose -f wordpress.yaml up -d
    複製代碼

配置網絡與域名

  • 只須要在域名提供商,爲本身購買的域名,添加A類型的子域名記錄好比blog.demoli.xyz,而後將解析值設置爲本身服務器的公網IP便可

推薦安裝插件

  • All-in-One WP Migration 遷移站點
  • Post Views Counter 查看閱讀數
  • UpdraftPlus-備份/恢復 備份站點
  • WP Githuber MD Markdown在線編輯
  • Yoast SEO SEO設置

插件安裝的問題

  • 插件安裝出現網絡錯誤時,能夠進入插件官網,手動下載文件上傳到指定文件夾安裝,使用docker cp命令導入到容器便可。
  • 注意導入後,進入容器將導入的文件或文件夾的owner 與 group與其餘WordPress文件一致
相關文章
相關標籤/搜索