成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Wordpress 容器化、HTTPS化全攻略

安全
大家可能都在用Wordpress寫博客,之前都都是買個VPS部署一個一鍵L/WAMP程序完成整個部署,部署可能也容易但是操作比較費勁。

 大家可能都在用Wordpress寫博客,之前都都是買個VPS部署一個一鍵L/WAMP程序完成整個部署,部署可能也容易但是操作比較費勁。前兩天蟲蟲的博客VPS出問題導致數據丟失,需要重新部署,在這次部署中為了追求***使用了docker容器方式并對網站升級使用全站HTTPS的方式進行部署,站點支持TLS 1.3協議以***程度提高性能,本文蟲蟲就給大家介紹整個部署的全過程供大家參考優化。

[[269080]]

 

概述

站點采用Docker方式部署,使用兩個容器一個是mysql 5.7數據庫容器,一個是apache(2.4.25)、php(7.3.6),Wordpress(5.2.2)容器,容器部件都是***版本。為了安全連個容器都映射到宿主機127.0.0.1端口不直接對外提供服務。宿主機上部署nginx***版本1.17反向代理到容器,nginx對外提供https服務:使用TLS 1.3協議,證書是從Let's Encrypt申請免費SSL,可以一鍵申請證書并且免費3個月更新。整個架構結構如下:

 Wordpress 容器化、HTTPS化全攻略(一)

VPS和容器環境準備

基礎VPS環境是centos 7.2,默認是vi我們先將它換成vim

  1. yum install vim 

掛載VPS數據盤

初始化VPS數據盤,注意該盤為外掛的盤VPS變化重新初始化時候數據不會丟失,一般為sdb,比如蟲蟲的盤,60G

 

Wordpress 容器化、HTTPS化全攻略(一)

 

創建分區并格式化

  1. fdisk /dev/sdb 
  2. mkfs.ext4 /dev/sdb1 

掛載,掛載目錄我們設為/data

  1. mkdir /data 
  2. mount /dev/sdb1 /data 

修改/etc/fstab實現重啟自動掛載:

通過dumpe2fs或者blkid查看磁盤UUID

  1. d179868b-6fb9-414c-8901-b990f7c586bd 

 

Wordpress 容器化、HTTPS化全攻略(一)

 

  1. echo 'UUID="d179868b-6fb9-414c-8901-b990f7c586bd" /data ext4 defaults 0 0' >>/etc/fstab 

mount –a測試fstab配置,如果沒提示表示正確,如果有錯誤會顯示,比如我們給UUID前面加個1,測試信息如下:

 

Wordpress 容器化、HTTPS化全攻略(一)

 

更換防火墻關閉selinux

系統其默認的防火墻firewalld,先將其修改為比較熟悉稱手的iptables:

  1. yum install iptables iptables-services 
  2. systemctl disable firewalld 
  3. systemctl stop firewalld 
  4. systemctl enable iptables 
  5. systemctl start iptables 

selinux配置太復雜,我們先暫時關閉(在正式生產環境不建議該操作):

  1. setenforce 0 

為了一直關閉,需要修改其配置文件,這樣重啟后就不會再加載。方法

  1. perl -i -lpe 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 

更改ssh安全配置

為了VPS已經修改掉系統默認的ssh 22端口,并且禁止root登陸,方法修改/etc/ssh/sshd_config,查找Port去掉其前面的注釋#號,并把22修改為其他端口,比如12322:

  1. Port 12322 

增加一行" PermitRootLogin no"禁止root登陸:

Wordpress 容器化、HTTPS化全攻略(一)

事先添加證書登陸,然后禁止密碼登錄方式"PasswordAuthentication no":

Wordpress 容器化、HTTPS化全攻略(一)

防火墻開啟新sshd端口,并刪掉22端口

  1. iptables -I INPUT -p tcp -m state --state NEW -m tcp -dport 12322 -j ACCEPT 

重啟sshd服務

  1. systemctl restart sshd.service 

用新端口證書方式訪問服務器,如果沒有問題:

刪掉22端口

  1. iptables -D INPUT -p tcp -m state --state NEW -m tcp -dport 22 -j ACCEPT 

保存防火墻規則

  1. systemctl save sshd.service 

添加epel和源管理工具

  1. yum install epel-releaseyum install -y yum-utils 

docker和容器部署

添加docker源

 

Wordpress 容器化、HTTPS化全攻略(一)

 

安裝docker服務

  1. yum install docker-ce docker-compose 
  2. systemctl enable docker  
  3. systemctl start docker  

啟用docker過程中報了一個錯誤"SELinux is not supported with the overlay2 graph drive...false",原因是linux的內核中的SELinux不支持 overlay2 graph drive,解決方法,修改docker配置文件/etc/sysconfig/docker修改--selinux-enabled為--selinux-enabled=false

 

Wordpress 容器化、HTTPS化全攻略(一)

 

還有一個典型錯誤如下:

 

Wordpress 容器化、HTTPS化全攻略(一)

 

fatal msg="Error starting daemon: error initializing graphdriver: "/var/lib/docker" contains several valid graphdrivers: devicemapper, overlay; Please cleanup or explicitly choose storage driver (-s )"是由于docker初始化數據有問題導致,只需清理/var/lib/docker/目錄下文件

"rm -rf /var/lib/docker/",然后重啟就OK了

拉取docker應用鏡像

  1. docker pull wordpress 
  2. docker pull mysql:5.7.25 

遷移docker數據目錄

  1. systemctl stop docker.service 
  2. mv /var/lib/docker /data/docker 

vim /usr/lib/systemd/system/docker.service 查找ExecStart給其參數增加:

"--graph /data/docker":

 

Wordpress 容器化、HTTPS化全攻略(一)

 

重新加載配置文件

  1. systemctl daemon-reload 

重啟docker服務

  1. systemctl restart docker.service 

創建應用數據目錄

首先是數據庫mysql目錄:

  1. mkdir -p /data/web/data 
  2. chown -R 999:999 /data/web/data 

網站目錄:

  1. mkdir /data/web/webapps 
  2. chown -R 33:33 /data/web/webapps 

啟動應用容器

mysql容器:

  1. docker run --name mysql -h mysql  
  2. --restart=always  
  3. -e MYSQL_ROOT_PASSWORD=wp12345  
  4. -p 127.0.0.1:13306:3306  
  5. -v /data/web/data:/var/lib/mysql  
  6. -d mysql:5.7.25 

注意上面加重的參數表示mysql的root初始化密碼,需要根據實際修改。

wordpress應用容器

  1. docker run -h wordpress --name wordpress  
  2. --restart=always  
  3. --link mysql:mysql  
  4. -p 2880:80  
  5. -v /data/web/webapps:/var/www/html  
  6. -d wordpress 

注意上面黑體表示連接到mysql容器,注意兩個服務啟動順序,現有mysql,wordpress放棄才能連接到這個數據庫,在宿主機上映射的端口為2880。

數據遷移

以上兩個個容器啟動后,wordpress部署就完全完成,現在通過瀏覽器訪問

http://ip:2880就可以訪問到wordpress安裝界面了。

就可以通過web安裝wordpress和配置了。

 

Wordpress 容器化、HTTPS化全攻略(一)

 

有可能報錯數據庫連接錯誤:

 

Wordpress 容器化、HTTPS化全攻略(一)

 

提示信息表示數據庫服務沒有創建wordpress數據庫,這時候需要連接到mysql容器:

  1. docker exec -it mysql /bin/bash 

在容器中執行mysql -uroot -p 輸入上面我們設置mysql密碼,wp12345

在mysql命令行創建一個數據庫wordpress

create database wordpress;

然后再訪問就可以了

 

Wordpress 容器化、HTTPS化全攻略(一)

 

注意該處保存好系統給你設置的密碼,或者修改為自己的密碼。

進過以上步驟,一個全新版本的wordpress服務就可以:

Wordpress 容器化、HTTPS化全攻略(一)

安裝好后需要遷移歷史數據,最主要是兩部分數據:數據庫數據和上傳的文件數據。

上傳文件數據遷移:

這部分遷移很簡單把以前保存的目錄中的wp-content下的uploads目錄復制過來所有上傳數據就ok了。

數據庫遷移:

數據庫遷移,如果wordpress版本相同,可以直接把以前保存的數據文件導入到新數據庫就可以。如果版本不同需要注意版本差異,否則會導致錯誤,可以只導入wp-post和wp-comments這兩個表的數據。

通過wordpress導入導出功能:

如果你以前通過wordpress的導出插件導出過歷史數據,就可以利用它導入所有數據信心,結合uploads目錄導入文件就可以***恢復歷史數據。具體方法:

點擊"工具"-"導入":

Wordpress 容器化、HTTPS化全攻略(一)

在該頁面點擊WordPress下的現在安裝,先安裝該插件。安裝后點擊"插件":

Wordpress 容器化、HTTPS化全攻略(一)

點擊"啟用"。

然后再返回"工具"-"導入":

Wordpress 容器化、HTTPS化全攻略(一)

點擊"運行導入器"。

Wordpress 容器化、HTTPS化全攻略(一)

彈出頁面選擇以前保存的xml文件,然后點擊"上傳并導入"按鈕,

Wordpress 容器化、HTTPS化全攻略(一)

選擇好需要遷移的用戶,點解"Submit"按鈕。

根據保存文件大小,該步驟需要比較長的時間。***會顯示如下頁面,表示導入過程已經完成:

 

Wordpress 容器化、HTTPS化全攻略(一)

 

文章頁面:

 

Wordpress 容器化、HTTPS化全攻略(一)

 

遷移問題

遷移目前遇到問題有些插件不好使用,最主要是代碼高亮插件"Crayon Syntax Highlighter"在***版本中不能用了,啟用該插件后,前臺不能顯示文章列表和內容,目前還未知道解決方案,暫時安裝了另一個代碼高亮插件"Enlighter"來代替。

總結:

本文我們使用部署中docker容器方式重新部署和遷移了Wordpress站點,涉及了VPS基礎設置、docker容器環境和安裝、應用容器的安裝和Wordpress歷史數據的遷移。限于篇幅我們總體文章分兩篇來介紹,本文第二篇將介紹nginx編譯安裝支持TLS 1.3,站點https設置和wordpress https化存在的問額和解決。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-02-18 08:57:44

虛擬化云計算云服務

2010-04-23 14:04:23

Oracle日期操作

2024-05-07 09:01:21

Queue 模塊Python線程安全隊列

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用

2013-06-08 11:13:00

Android開發XML解析

2009-02-20 11:43:22

UNIXfish全攻略

2014-03-19 17:22:33

2009-12-14 14:32:38

動態路由配置

2009-10-19 15:20:01

家庭綜合布線

2010-11-23 10:45:02

基礎設施虛擬化

2009-10-12 15:06:59

2015-03-04 13:53:33

MySQL數據庫優化SQL優化

2009-07-04 11:26:12

unix應急安全攻略

2022-10-21 11:30:42

用戶生命周期分析

2020-12-28 10:50:09

Linux環境變量命令

2010-10-11 13:54:03

Windows Ser

2009-12-17 16:15:00

CCNA640-810

2009-11-10 12:08:15

2020-11-23 15:21:12

Linux環境變量

2009-07-17 17:43:49

Jruby開發Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区的 | 国产精品日韩欧美一区二区三区 | 秋霞国产 | 狠狠色综合网站久久久久久久 | 伊伊综合网 | 色综合久久天天综合网 | 酒色成人网 | 国产精品久久久久久久久久久久久 | 亚洲国产成人精品一区二区 | 欧美日韩亚 | 日韩在线免费视频 | 日韩高清在线 | 国产精品久久久久久妇女6080 | 亚洲夜射 | 久久99精品久久久久久 | 日韩国产免费观看 | 天天综合日日夜夜 | 久国久产久精永久网页 | 黄色三级免费网站 | 天天干狠狠干 | 日韩国产高清在线观看 | 国产精品久久久久久久久污网站 | 精产国产伦理一二三区 | 日韩欧美在线免费观看 | 国产一区二 | 超碰97人人人人人蜜桃 | 国产精品久久久亚洲 | 天天躁日日躁狠狠很躁 | 精品国产一二三区 | 97avcc| 亚洲 欧美 综合 | 日本视频中文字幕 | caoporn国产精品免费公开 | 在线一区观看 | 国产一二三区在线 | av一区二区三区四区 | 精品国产色| 日韩播放 | 中文字幕国产精品 | 91免费观看在线 | 成年人在线 |