部署 WordPress 和 Wecenter
目錄基本環境部署(LNMP)安裝 Nginx安裝 PHP7.1安裝 Mariadb安裝 NFS部署 NFS 服務端部署 NFS 客戶端部署 WordPress首臺服務器 環境部署數據庫服務器 環境部署安裝 WordPress其他服務器 環境部署NFS服務端/客戶端 環境部署番外:導入 WordPress 主題部署 Wecenter首臺服務器 環境部署數據庫服務器 環境部署安裝 Wecenter其他服務器 環境部署NFS服務端/客戶端 環境部署
基本環境部署(LNMP)
安裝 Nginx
# 配置 nginx 官方源
[root@web01 ~]# vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# 安裝 nginx
[root@web01 ~]# yum -y install nginx
# 創建一個 nginx 執行用戶 (也是 php-fpm 執行用戶)
[root@web01 ~]# useradd www -u 666 -r -s /sbin/nologin -M
# 修改 nginx 啟動用戶
[root@web01 ~]# vi /etc/nginx/nginx.conf
user www;
# 啟動 nginx,并將 nginx 加入開機自啟
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
# 檢查 端口,進程
[root@web01 ~]# netstat -lntup | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10228/nginx: master
[root@web01 ~]# ps -ef | grep nginx
root 10228 1 0 19:31 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
www 10229 10228 0 19:31 ? 00:00:00 nginx: worker process
root 10252 9943 0 19:31 pts/0 00:00:00 grep --color=auto nginx
安裝 PHP7.1
# 在安裝之前刪除相關軟件包,以確保全部重新安裝
[root@web01 ~]# yum remove php-mysql-5.4 php php-fpm php-common
#配置第三方源
[root@web01 ~]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
# 建議安裝時緩存安裝包,因為下載速度特別慢
[root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
# 修改 php-fpm 執行用戶
[root@web01 ~]# vi /etc/php-fpm.d/www.conf
user = www
group = www
# 啟動 php-fpm,并將 php-fpm 加入開機自啟
[root@web01 ~]# systemctl start php-fpm
[root@web01 ~]# systemctl enable php-fpm
# 檢查 端口,進程
[root@web01 conf.d]# netstat -lntup | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10475/php-fpm: mast
[root@web01 conf.d]# ps -ef | grep php-fpm
root 10475 1 0 19:42 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
www 10476 10475 0 19:42 ? 00:00:00 php-fpm: pool www
www 10477 10475 0 19:42 ? 00:00:00 php-fpm: pool www
www 10478 10475 0 19:42 ? 00:00:00 php-fpm: pool www
www 10479 10475 0 19:42 ? 00:00:00 php-fpm: pool www
www 10480 10475 0 19:42 ? 00:00:00 php-fpm: pool www
root 10512 9943 0 19:49 pts/0 00:00:00 grep --color=auto php-fpm
安裝 Mariadb
# 安裝 mariadb-server 軟件包
[root@db01 ~]# yum -y install mariadb-server
# 開啟 mariadb,并將 mariadb 加入開機自啟
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
# 創建一個 mariadb 超級管理員用戶,設置密碼
[root@db01 ~]# mysqladmin -uroot password '123'
安裝 NFS
部署 NFS 服務端
# 部署 NFS 服務端,安裝 nfs-utils
[root@nfs ~]# yum install -y nfs-utils rpcbind
# 編輯 nfs-server 的配置文件(WordPress的共享存儲目錄為/wp_data,Wecenter的共享存儲目錄/zh_data)
[root@nfs ~]# vi /etc/exports
/wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
# 創建配置中的 共享目錄 并指定屬主和屬組
[root@nfs ~]# mkdir /wp_data /zh_data
[root@nfs ~]# chown www.www /wp_data /zh_data
# 檢查配置文件是否生效
[root@nfs ~]# cat /var/lib/nfs/etab
# 創建 nfs-server 服務的匿名用戶
[root@nfs ~]# useradd www -u 666 -r -s /sbin/nologin -M
# 重啟 nfs-server 服務,并將 nfs-server 加入開機自啟
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server
部署 NFS 客戶端
# 部署 NFS 客戶端,安裝 nfs-utils
[root@web01 ~]# yum install -y nfs-utils rpcbind
[root@web02 ~]# yum install -y nfs-utils rpcbind
# 查看 NFS服務端 "房源"
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/wp_data 172.16.1.0/24
/zh_data 172.16.1.0/24
部署 WordPress
需求:使用 LNMP 架構搭建 WordPress 軟件,部署分布式集群服務器架構:
| 服務器 | WANIP | LANIP | 環境 |
|---|---|---|---|
| WEB01 | 10.0.0.7 | 172.16.1.7 | nginx + php |
| WEB02 | 10.0.0.8 | 172.16.1.8 | nginx + php |
| DB01 | 10.0.0.51 | 172.16.1.51 | Msql |
| NFS | 10.0.0.31 | 172.16.1.31 | NFS(需部署客戶端) |
首臺服務器 環境部署
# 創建 nginx 配置文件,配置 fastcgi 代理,連接 `nginx 服務` 與 `fpm-php 服務`
[root@web01 ~]# vi /etc/nginx/conf.d/blog.wqh.com.conf
server {
listen 80;
server_name blog.wqh.com;
root /website/wordpress;
index index.php;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 創建站點目錄
[root@web01 ~]# mkdir -p /website/wordpress
# 修改站點目錄的 屬主和屬組(為了 nginx服務執行用戶 可以訪問,php服務執行用戶 可以解析)
[root@web01 ~]# chown www.www -R /website/wordpress/
# 檢測 nginx 和 php-fpm 是否連接成功
[root@web01 ~]# vi /website/wordpress/index.php
<?php
phpinfo();
?>
# 此文件只做檢測使用,檢測完需要立刻刪除,此文件暴露會非常危險
# 編輯 C:WindowsSystem32driversetchosts 本地域名解析,一個一個配置,注釋掉其他服務器 IP
10.0.0.7 blog.wqh.com
#10.0.0.8 blog.wqh.com
如果成功,訪問 http://blog.wqh.com 會顯示以下內容:
# 如果出現了以上界面,證明 php-cgi 進程已經可以處理來自 nginx 服務的請求
# 刪除站點目錄下的 index.php 文件(只是一個測試文件),解壓 WordPress 軟件包 到站點目錄
[root@web01 ~]# rm -f /website/wordpress/index.php
[root@web01 ~]# unzip wordpress-5.0.3-zh_CN.tar.gz -d /website/wordpress/
# 修改站點目錄的 屬主和屬組(為了 nginx服務執行用戶 可以訪問,php服務執行用戶 可以解析)
[root@web01 ~]# chown www.www -R /website/wordpress/
數據庫服務器 環境部署
# 在 數據庫服務器 上創建 數據庫 wordpress,并指定授權
# 授權所有權限 grant all privileges
# 授權所有庫所有表 *.*
# 將授權賦予給哪個用戶,這個用戶只能通過哪個網段過來(%所有) 'all'@'%'
# 授權該用戶登錄的密碼 identified by
[root@db01 ~]# mysql -uroot -p123
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> grant all on wordpress.* to wp_user@'%' identified by '123456';
MariaDB [(none)]> exit
Bye
安裝 WordPress
此時可以打開瀏覽器,輸入域名 http://zh.wqh.com ,配置數據庫信息,并開始安裝:
其他服務器 環境部署
在瀏覽器中配置完數據庫后,WordPress 連接數據庫的配置文件已經存在(在站點目錄下),將nginx 配置文件 和 站點目錄 遠程傳送給其他服務器即可 。
# 使用 scp 命令,將 nginx 配置文件 遠程傳輸
[root@web01 ~]# scp /etc/nginx/conf.d/blog.wqh.com.conf 172.16.1.8:/etc/nginx/conf.d/
# 使用 scp 命令,將 站點目錄遠程傳輸,使用 -p 選項保持原有屬性(屬主和屬組)
[root@web01 ~]# scp -rp /website/wordpress 172.16.1.8:/website
NFS服務端/客戶端 環境部署
## NFS 服務端(基本環境部署中已經做過)
# 編輯 nfs-server 的配置文件(WordPress的共享存儲目錄為/wp_data,Wecenter的共享存儲目錄/zh_data)
[root@nfs ~]# vi /etc/exports
/wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
# 創建配置中的 共享目錄 并指定屬主和屬組
[root@nfs ~]# mkdir /wp_data
[root@nfs ~]# chown www.www /wp_data
# 重啟 nfs-server服務
[root@nfs ~]# systemctl restart nfs-server
## NFS 客戶端
# 將目錄掛載到 NFS服務端,此時訪問 /website/wordpress/wp-content/uploads/ 目錄時,實際上是 NFS服務端的 /wp_data 目錄
[root@web01 ~]# mount -t nfs 172.16.1.31:/wp_data /website/wordpress/wp-content/uploads/
# 將目錄掛載到 NFS服務端,此時訪問 /website/wordpress/wp-content/uploads/ 目錄時,實際上是 NFS服務端的 /wp_data 目錄
[root@web02 ~]# mount -t nfs 172.16.1.31:/wp_data /website/wordpress/wp-content/uploads/
# Wordpress 軟件用戶上傳的靜態資源會存儲在站點目錄下的 wp-content/uploads 中
# uploads 目錄,在初始安裝后是沒有的,如果網站用戶上傳過文件,才會創建
# 如果站點目錄下,沒有 uploads 目錄,可以自己創建,并更改 屬主和屬組
番外:導入 WordPress 主題
# 主題相關文件的路徑(若是分布式架構,需要對此主題目錄做 NFS共享存儲)
[root@web01 ~]# cd /website/wordpress/wp-content/themes
# 默認存在的主題 twenty*
[root@web01 themes]# ll
total 16
-rw-r--r-- 1 www www 28 Jun 5 2014 index.php
drwxr-xr-x 8 www www 4096 Apr 1 05:00 twentynineteen
drwxr-xr-x 5 www www 4096 Apr 1 05:00 twentyseventeen
drwxr-xr-x 7 www www 4096 Apr 1 05:00 twentytwenty
下載一些主題,解壓到此目錄即可,分享一波好看的主題
原版Sakura主題 傳送門
改良版Sakura主題 傳送門
在主題配置頁面,加入隨機圖片的API https://random.52ecy.cn/randbg.php?return=302
部署 Wecenter
需求:使用 LNMP 架構搭建 Wecenter 軟件,部署分布式集群服務器架構:
| 服務器 | WANIP | LANIP | 環境 |
|---|---|---|---|
| WEB01 | 10.0.0.7 | 172.16.1.7 | nginx + php |
| WEB02 | 10.0.0.8 | 172.16.1.8 | nginx + php |
| DB01 | 10.0.0.51 | 172.16.1.51 | Msql |
| NFS | 10.0.0.31 | 172.16.1.31 | NFS(需部署客戶端) |
首臺服務器 環境部署
# 創建 nginx 配置文件,配置 fastcgi 代理,連接 `nginx 服務` 與 `fpm-php 服務`
[root@web01 ~]# vi /etc/nginx/conf.d/zh.wqh.com.conf
server {
listen 80;
server_name zh.wqh.com;
root /website/zh;
index index.php;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 創建站點目錄,解壓 Wecenter 軟件包 到站點目錄
[root@web01 ~]# mkdir -p /website/zh
[root@web01 ~]# unzip WeCenter_3-2-1.zip -d /website/zh
# 修改站點目錄的 屬主和屬組(為了 nginx服務執行用戶 可以訪問,php服務執行用戶 可以解析)
[root@web01 ~]# chown www.www /website -R
# 設置好物理機的本地域名解析,打開瀏覽器訪問 zh.wqh.com
# 編輯 C:WindowsSystem32driversetchosts 本地域名解析,一個一個配置,注釋掉其他服務器 IP
10.0.0.7 blog.wqh.com zh.wqh.com
#10.0.0.8 blog.wqh.com zh.wqh.com
數據庫服務器 環境部署
# 在 數據庫服務器 上創建 數據庫 wecenter,并指定授權
[root@db01 ~]# mysql -uroot -p123
MariaDB [(none)]> create database wecenter;
MariaDB [(none)]> grant all on wecenter.* to wc_user@'%' identified by '123456';
MariaDB [(none)]> exit
Bye
安裝 Wecenter
此時可以打開瀏覽器,輸入域名 http://zh.wqh.com ,配置數據庫信息,并開始安裝:
其他服務器 環境部署
在瀏覽器中配置完數據庫后,Wecenter 連接數據庫的配置文件已經存在(在站點目錄下),將nginx 配置文件 和 站點目錄 遠程傳送給其他服務器即可 。
# 使用 scp 命令,將 nginx 配置文件 遠程傳輸
[root@web01 ~]# scp /etc/nginx/conf.d/zh.wqh.com.conf 172.16.1.8:/etc/nginx/conf.d/
# 使用 scp 命令,將 站點目錄遠程傳輸,使用 -p 選項保持原有屬性(屬主和屬組)
[root@web01 ~]# scp -rp /website/zh 172.16.1.8:/website
NFS服務端/客戶端 環境部署
## NFS 服務端(基本環境部署中已經做過)
# 編輯 nfs-server 的配置文件(WordPress的共享存儲目錄為/wp_data,Wecenter的共享存儲目錄/zh_data)
[root@nfs ~]# vi /etc/exports
/wp_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/zh_data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
# 創建配置中的 共享目錄 并指定屬主和屬組
[root@nfs ~]# mkdir /zh_data
[root@nfs ~]# chown www.www /zh_data
# 重啟 nfs-server服務
[root@nfs ~]# systemctl restart nfs-server
## NFS 客戶端
# 將目錄掛載到 NFS服務端,此時訪問 /website/zh/uploads/ 目錄時,實際上是 NFS服務端的 /zh_data 目錄
[root@web01 ~]# mount -t nfs 172.16.1.31:/zh_data /website/zh/uploads/
# 將目錄掛載到 NFS服務端,此時訪問 /website/zh/uploads/ 目錄時,實際上是 NFS服務端的 /zh_data 目錄
[root@web02 ~]# mount -t nfs 172.16.1.31:/zh_data /website/zh/uploads/
# Wecenter 軟件用戶上傳的靜態資源會存儲在站點目錄下的 uploads 中
# uploads 目錄,在初始安裝后是沒有的,如果網站用戶上傳過文件,才會創建
# 如果站點目錄下,沒有 uploads 目錄,可以自己創建,并更改 屬主和屬組
# 這些特點 Wecenter 和 WordPress 相同
總結
以上是生活随笔為你收集整理的部署 WordPress 和 Wecenter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 自定义格式化,PHP自定义函数格
- 下一篇: 图说GC原理及调优