第一段:刪除分類(lèi)下的文章數(shù)量。
創(chuàng)新互聯(lián)堅(jiān)信:善待客戶(hù),將會(huì)成為終身客戶(hù)。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?lài)。我們從不忽悠初訪(fǎng)客戶(hù),我們用心做好本職工作,不忘初心,方得始終。10余年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營(yíng)銷(xiāo)服務(wù)商,為您提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5技術(shù)、網(wǎng)站制作、品牌網(wǎng)站制作、成都微信小程序服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。
delete
from
wp_posts?
using?
wp_posts,
wp_term_relationships,
wp_term_taxonomy?
where?
wp_posts.id=wp_term_relationships.object_id?
and?
wp_term_relationships.term_taxonomy_id?=?wp_term_taxonomy.term_taxonomy_id?
and?
wp_term_relationships.term_taxonomy_id?=?18
第二段:刪除分類(lèi)信息。
delete?FROM?`wp_term_relationships`?where?term_taxonomy_id=18
注意:1,這是默認(rèn)的wordpress 數(shù)據(jù)庫(kù)簽字,如果修改了wordpress表前綴的話(huà),記得將“wp_”換成你自己的表前綴。2,term_taxonomy_id=18,里面的18為分類(lèi)的ID,記得替換成你要?jiǎng)h除分類(lèi)的ID。
最簡(jiǎn)單的方法,獲取分類(lèi)id
?php
// 將以下cat_ID改成你的分類(lèi)ID即可
echo get_category(cat_ID)-count;
?
當(dāng)前環(huán)境快照
可選:在繼續(xù)本教程之前,你可能想為你當(dāng)前環(huán)境創(chuàng)建快照。本教程中快照有兩個(gè)目的:
如果發(fā)生錯(cuò)誤可以回滾到可工作環(huán)境
對(duì)原始服務(wù)器做一次性復(fù)制,而不需要再次安裝和配置PHP以及Nginx
注意:為環(huán)境創(chuàng)建快照需要短暫的關(guān)閉VPS
為wordpress-1和mysql-1兩個(gè)VPS做一個(gè)快照。
現(xiàn)在有了快照以后,我們就可以準(zhǔn)備好繼續(xù)搭建環(huán)境中其他部分了。
創(chuàng)建第二臺(tái)web應(yīng)用服務(wù)器
現(xiàn)在我們需要?jiǎng)?chuàng)建第二個(gè)VPS來(lái)分擔(dān)原始應(yīng)用服務(wù)器的負(fù)載。有兩種選擇:
從之前的快照wordpress-1中創(chuàng)建一個(gè)新的VPS
從頭開(kāi)始重新創(chuàng)建一個(gè)VPS并且設(shè)置該VPS和wordpress-1有相同的軟件和配置
不論那種方法,如果網(wǎng)絡(luò)可用,一定要確保勾選個(gè)人網(wǎng)絡(luò)。個(gè)人網(wǎng)絡(luò)是本教程中所有VPS都需要的。
如果沒(méi)有個(gè)人網(wǎng)絡(luò)選項(xiàng),用你的VPS的公開(kāi)IP來(lái)替代內(nèi)網(wǎng)IP。需要注意的是,當(dāng)使用公網(wǎng)IP在應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間傳輸敏感數(shù)據(jù)比如非加密的數(shù)據(jù)庫(kù)密碼,并不是一個(gè)很好的選擇,因?yàn)檫@些信息需要在互聯(lián)網(wǎng)上傳輸。
方式一:使用快照創(chuàng)建新的VPS
創(chuàng)建一個(gè)新的VPS,叫做wordpress-2,使用你為wordpress-1做的快照來(lái)做。
如果你選擇的這種方式,可以跳過(guò)“方式二”直接去看“同步web應(yīng)用文件”小節(jié)。
方式二:從頭創(chuàng)建一個(gè)新的VPS
這種方式和“方式一”可二選一。
如果你想從頭設(shè)置wordpress-2服務(wù)器,而不是使用wordpress-1的快照,那么你要確保安裝的軟件相同。如果你忘了如何安裝和設(shè)置原始wordpress服務(wù)器,可以參考預(yù)備知識(shí)章節(jié)中如何設(shè)置web服務(wù)器小節(jié)。
快速參考,這里是一個(gè)相關(guān)軟件和配置文件的列表,需要你來(lái)安裝或復(fù)制:
軟件方面:
Mysql客戶(hù)端
Nginx
PHP
安裝完這些軟件后,在你的wordpress-2服務(wù)器上運(yùn)行一下命令:
sudo apt-get update
sudo apt-get install mysql-client
sudo apt-get install nginx php5-fpm php5-mysql
原始應(yīng)用服務(wù)器上需要?jiǎng)?chuàng)建或編輯的配置文件:
/etc/php5/fpm/php.ini
/etc/php5/fpm/pool.d/
/etc/nginx/sites-available/example.com
/etc/nginx/sites-enabled/example.com
當(dāng)你修改完配置文件后,不要忘了沖洗PHP和Nginx,可以使用一下命令:
sudo service php5-fpm restart
sudo service nginx restart
在新服務(wù)器的安裝和配置完成以后,我們需要同步wordpress應(yīng)用文件。
同步Web應(yīng)用文件
在應(yīng)用程序可以進(jìn)行負(fù)載均衡之前,我們需要確保新應(yīng)用服務(wù)器的應(yīng)用程序文件和原始wordpress服務(wù)器的文件是同步的。這些文件的位置也就是你安裝wordpress的位置,以及其他的一些文件。除了wordpress運(yùn)行所需要的配置文件之外,上傳的文件和通過(guò)wordpress接口安裝的插件的安裝文件和這些插件上傳的文件都需要去同步。在預(yù)備知識(shí)文章中,我們將wordpress安裝在/var/www/example.com路徑下--我們將
在所有的例子中都會(huì)使用這個(gè)路徑,但是你需要將這個(gè)路徑替換為你wordpress的實(shí)際安裝路徑。
有很多方法在服務(wù)器之間同步文件--NFS或者glusterFS都是不錯(cuò)的選擇。我們將使用glusterFS來(lái)滿(mǎn)足我們所有的同步需求,因?yàn)樗试S每個(gè)應(yīng)用服務(wù)器來(lái)存儲(chǔ)應(yīng)用程序文件的副本,同時(shí)也會(huì)保持文件系統(tǒng)的一致性。下圖是我們共享存儲(chǔ)方案的概念圖:
如果你對(duì)本小節(jié)中使用的glusterFS完全不熟悉,請(qǐng)參考這個(gè)GlusterFS教程(),這是本小節(jié)的基礎(chǔ)。
注意:下面的內(nèi)容將經(jīng)常在wordpress-1和wordpress-2服務(wù)器之間跳轉(zhuǎn),請(qǐng)確保在正確服務(wù)器上運(yùn)行響應(yīng)命令,否則你將遇到麻煩。
編輯hosts文件
如果你有一個(gè)內(nèi)部DNS,而且這個(gè)DNS記錄了你VPS的內(nèi)部IP地址,那么你可以跳過(guò)這一步直接配置并執(zhí)行g(shù)lusterFS相關(guān)命令。
否則,需要在wordpress-1和wordpress-2上編輯/etc/hosts文件:
sudo vi /etc/hosts
增加以下兩行,將紅色字替換為你應(yīng)用服務(wù)器的各自ip:
wordpress_1_private_IP wordpress-1
wordpress_2_private_IP wordpress-2
保存并退出。
安裝GlusterFS并配置一個(gè)冗余盤(pán)
在wordpress-1和wordpress-2上使用apt-get命令安裝glusterFS服務(wù)端軟件:
sudo apt-get install glusterfs-server
在wordpress-1上,運(yùn)行以下命令來(lái)和wordpress-2保持對(duì)等:
sudo gluster peer probe wordpress-2
在wordpress-2上,運(yùn)行以下命令來(lái)和wordpress-1保持對(duì)等:
sudo gluster peer probe wordpress-1
在wordpress-1和wordpress-2上,創(chuàng)建路徑用來(lái)存儲(chǔ)glusterFS所管理的文件,運(yùn)行:
sudo mkdir /gluster-storage
在wordpress-1上,創(chuàng)建glusterFS副本,我們稱(chēng)作volume1,glusterFS 會(huì)將它存放在/gluster-storage中的數(shù)據(jù)保存在你所有的應(yīng)用服務(wù)器上,運(yùn)行:
sudo gluster volume create volume1 replica 2 transport tcp wordpress-1:/gluster-storage wordpress-2:/gluster-storage force
預(yù)期輸出以下結(jié)果:
volume create: volume1: success: please start the volume to access data
再次在wordpress-1上,運(yùn)行一下命令來(lái)啟動(dòng)剛剛創(chuàng)建的glusterFS卷,在volume1上運(yùn)行:
sudo gluster volume start volume1
預(yù)期輸出以下結(jié)果:
volume start: volume1: success
在wordpress-1上,如果你想查看剛創(chuàng)建和啟動(dòng)的glusterFS卷的信息,運(yùn)行:
sudo gluster volume info
你需要明白的是目前有兩個(gè)glusterFS“同盟”,每個(gè)對(duì)應(yīng)一個(gè)wordpress服務(wù)器。
現(xiàn)在我們已經(jīng)運(yùn)行了一個(gè)glusterFS盤(pán),為了能夠使用它來(lái)同步文件,我們需要將該盤(pán)掛載。
掛載共享存儲(chǔ)
首先掛載wordpress-1上的文件系統(tǒng)。
在wordpress-1上,修改fstab文件來(lái)使共享文件系統(tǒng)可以隨機(jī)啟動(dòng):
sudo vi /etc/fstab
添加以下行到fstab來(lái)將/storage-pool目錄作為掛載點(diǎn):
wordpress-1:/volume1 /storage-pool glusterfs defaults,_netdev 0 0
保存并退出。
在wordpress-1上,現(xiàn)在將glusterFS盤(pán)掛載至/storage_pool文件系統(tǒng):
sudo mkdir /storage-pool
sudo mount /storage-pool
在wordpress-1上掛載共享盤(pán)/storage-pool后,你可以運(yùn)行df -h命令來(lái)列出當(dāng)前已掛載的文件。接下來(lái),我們將使用類(lèi)似的流程來(lái)掛載wordpress-2上的共享文件系統(tǒng)。
在wordpress-2上,編輯fstab來(lái)使共享系統(tǒng)隨機(jī)啟動(dòng):
sudo vi /etc/fstab
添加以下行到fstab來(lái)將/storage-pool目錄作為掛載點(diǎn):
wordpress-2:/volume1 /storage-pool glusterfs defaults,_netdev 0 0
在wordpress-2上,現(xiàn)在將glusterFS盤(pán)掛載至/storage_pool文件系統(tǒng):
sudo mkdir /storage-pool
sudo mount /storage-pool
現(xiàn)在,所有在/storage-pool文件系統(tǒng)中創(chuàng)建、修改或刪除的文件都會(huì)在兩個(gè)wordpress服務(wù)器之間同步,即使當(dāng)其中一個(gè)服務(wù)器暫時(shí)故障時(shí)也會(huì)同步。
將wordpress文件移至共享存儲(chǔ)
下一步是將wordpress-1的wordpress文件移動(dòng)到共享存儲(chǔ)中。請(qǐng)將紅色字體替換為你自己的值。/var/www/example.com表示wordpress文件的位置(nginx也會(huì)在這里查找文件),example.com本身只是根目錄。
在wordpress-1上,運(yùn)行以下命令來(lái)移動(dòng)wordpress文件至共享文件系統(tǒng)/storage-pool:
sudo mv /var/www/example.com /storage-pool/
sudo chown www-data:www-data /storage-pool/example.com
接下來(lái),你可能想創(chuàng)建一個(gè)符號(hào)鏈接來(lái)指向wordpress在共享文件中位置:
sudo ln -s /storage-pool/example.com /var/www/example.com
目前wordpress文件放在共享文件系統(tǒng)/storage-pool中,這些文件接受Nginx訪(fǎng)問(wèn)他們的原始路徑/var/www/example.com。
將新的應(yīng)用服務(wù)器指向共享存儲(chǔ)區(qū)
下一步是我們?cè)谛聎eb應(yīng)用程序服務(wù)器上創(chuàng)建一個(gè)符號(hào)鏈接指向WordPress文件共享文件系統(tǒng)。
如果你選擇使用快照創(chuàng)建wordpress-2,在wordpress-2上運(yùn)行以下命令:
sudo rm /var/www/example.com
sudo ln -s /storage-pool/example.com /var/www/example.com
如果你從頭創(chuàng)建wordpress-2服務(wù)器,在wordpress-2上運(yùn)行以下命令:
sudo mkdir -p/var/www
sudo ln -s/storage-pool/example.com /var/www/example.com
這就是wordpress應(yīng)用的文件同步。接下來(lái)是使新服務(wù)器wordpress-2連接數(shù)據(jù)庫(kù)。
創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶(hù)
由于Mysql使用用戶(hù)名和源主機(jī)來(lái)區(qū)別用戶(hù),我們需要?jiǎng)?chuàng)建一個(gè)新的wordpress用戶(hù)來(lái)連接新的服務(wù)器wordpress-2。
在數(shù)據(jù)庫(kù)服務(wù)器(mysql-1)上連接至MYSQL控制臺(tái):
mysql -u root -p
在一下mysql語(yǔ)句中,將紅色字體替換為你真實(shí)環(huán)境的參數(shù):
wordpress用戶(hù):Mysql中wordpress用戶(hù)。確保和已經(jīng)存在的用戶(hù)名保持一致。
wordpress2private_IP:wordpress-2服務(wù)器的內(nèi)部ip。
密碼:wordpress用戶(hù)的Mysql數(shù)據(jù)庫(kù)密碼。去報(bào)和已經(jīng)存在的用戶(hù)名密碼保持一致。
在wordpress-2上mysql控制臺(tái)中運(yùn)行以下命令:
CREATE USER 'wordpressuser'@'wordpress_2_private_IP' IDENTIFIED BY 'password';
GRANT SELECT,DELETE,INSERT,UPDATE ON wordpress.* TO 'wordpressuser'@'wordpress_2_private_IP';
FLUSH PRIVILEGES;
現(xiàn)在第二臺(tái)服務(wù)器wordpress-2就可以登錄mysql服務(wù)器mysql-1了。
還沒(méi)負(fù)載均衡
注意,有兩個(gè)應(yīng)用服務(wù)器在運(yùn)行但是他們并沒(méi)有被負(fù)載均衡,因?yàn)槊總€(gè)服務(wù)器必須通過(guò)他們的外網(wǎng)IP來(lái)訪(fǎng)問(wèn)。而我們希望能夠通過(guò)相同的URL訪(fǎng)問(wèn)該應(yīng)用程序,如,以及在兩臺(tái)服務(wù)器之間做流量分配。
安裝HAProxy
在內(nèi)網(wǎng)中創(chuàng)建一個(gè)新的VPS,在本教程中,我們叫做haproxy-www。
在haproxy-www服務(wù)器上使用apt-get命令來(lái)安裝HAProxy:
sudo apt-get update
sudo apt-get install haproxy
我們需要使用HAProxy初始化腳本來(lái)啟動(dòng)和停止HAProxy:
sudo vi /etc/default/haproxy
將ENABLED值改為1來(lái)開(kāi)啟初始化腳本:
ENABLED=1
保存并退出。
現(xiàn)在HAProxy可以在服務(wù)器上被啟動(dòng)和停止。當(dāng)然,你現(xiàn)在可以使用命令來(lái)控制HAProxy了。讓我們來(lái)檢查下它是否運(yùn)行:
/etc/init.d$ sudo service haproxy status
輸出結(jié)果:
haproxy not running
HAProxy沒(méi)有運(yùn)行。這是對(duì)的,因?yàn)樗紫刃枰渲?。接下?lái),讓我們來(lái)配置HAProxy。
HAProxy配置
HAProxy的配置文件主要分為以下兩部分:
Global:設(shè)置進(jìn)程級(jí)參數(shù)
Proxies:包括默認(rèn)、監(jiān)聽(tīng)、前端、后端參數(shù)
Global配置
所有的HAProxy配置都需要在HAProxy服務(wù)器haproxy-www上進(jìn)行。
首先,復(fù)制一份默認(rèn)的haproxy.cfg文件:
cd /etc/haproxy; sudo cp haproxy.cfg haproxy.cfg.orig
現(xiàn)在,使用文本編輯器打開(kāi)haproxy.cfg文件:
sudo vi /etc/haproxy/haproxy.cfg
你將看到有兩部分已經(jīng)被定義:global和defaults。首先,我們將對(duì)一些默認(rèn)參數(shù)做一些修改。
在默認(rèn)情況下,找到一下兩行:
mode http
option httplog
將其中http替換為tcp,結(jié)果如下:
mode tcp
option tcplog
選擇tcp作為HAProxy執(zhí)行第4層負(fù)載平衡模式配置。在我們的例子中,這意味著一個(gè)特定的IP地址和端口中所有傳入的流量將被轉(zhuǎn)發(fā)到同一后端。如果你不熟悉這一概念,請(qǐng)閱讀在HAProxy介紹中的負(fù)載均衡小節(jié)。
先不要關(guān)閉配置文件,我們將加上proxy配置。
代理配置(Proxyies)
我們首先要做的事情是增加前端。對(duì)一個(gè)基本的4層負(fù)載均衡設(shè)置,前端監(jiān)聽(tīng)一個(gè)特定的IP地址和端口的流量,并將傳入流量轉(zhuǎn)發(fā)到一個(gè)指定的后端。
在配置文件的末尾,讓我們添加上我們的前端:www。請(qǐng)將haproxy_www_public_IP替換為你自己的haproxy-www服務(wù)器IP地址:
frontend www
bind haproxy_www_public_IP:80
default_backend wordpress-backend
以下是對(duì)上面的前端配置代碼片段中的每一行是什么意思做出解釋?zhuān)?/p>
frontend www:指定了一個(gè)名為“www”的前端,我們將用它來(lái)處理傳入www的流量
bind haproxywwwpublic_IP:80:將haproxywwwpublic_IP替換為你haproxy-www服務(wù)器的外網(wǎng)ip。這是告訴haproxy這個(gè)前端將處理這個(gè)ip和端口上的流量。
default_backend wordpress-backend:這指定所有這些前端的流量將會(huì)轉(zhuǎn)發(fā)到wordpress-backend,這在下一步我們將定義
配置完前端后,繼續(xù)將以下后端配置加入文件末尾:
backend wordpress-backend
balance roundrobin
mode tcp
server wordpress-1 wordpress_1_private_IP:80 check
server wordpress-2 wordpress_2_private_IP:80 check
以下是對(duì)上面每行配置的解釋?zhuān)?/p>
backend wordpress-backend:指定了一個(gè)名為“wordpress-backend”的后端
balance roundrobin:指定該后端將使用“輪循”的負(fù)載均衡算法
server wordpress-1 ...:指定了一個(gè)名為“wordpress-1”的后端服務(wù)器,內(nèi)外nagIP(你必須替換為你自己服務(wù)器ip)和端口監(jiān)聽(tīng),在這個(gè)例子中為80端口?!癱heck”選項(xiàng)表示使負(fù)載均衡器對(duì)這個(gè)服務(wù)器定期進(jìn)行健康檢查
server wordpress-2 ...:指定了一個(gè)名為“wordpress-2”的后端
保存并退出。
現(xiàn)在HAProxy可以啟動(dòng)了,但是讓我們先開(kāi)啟日志功能。
開(kāi)始HAProxy日志功能
啟用HAproxy日志功能非常簡(jiǎn)單,首先編輯rsyslog.conf文件:
sudo vi /etc/rsyslog.conf
接著找到一下兩行,取消這兩行注釋來(lái)開(kāi)啟UDP日志功能:
$ModLoad imudp
$UDPServerRun 514
$UDPServerAddress 127.0.0.1
現(xiàn)在重啟rsyslog來(lái)使新配置生效:
sudo service rsyslog restart
HAProxy日志功能現(xiàn)在已經(jīng)開(kāi)啟了!日志文件將在HAProxy啟動(dòng)后被放在/var/log/haproxy.log。
啟動(dòng)HAProxy和PHP/Nginx
在haproxy-www服務(wù)器上,啟動(dòng)HAProxy來(lái)使配置生效:
sudo service haproxy restart
取決于你如何設(shè)置您的新應(yīng)用程序服務(wù)器,您可能需要重新啟動(dòng)你的WordPress應(yīng)用程序通過(guò)重啟PHP和Nginx。
在wordpress-2服務(wù)器上,重啟PHP和Nginx:
sudo service php5-fpm restart
sudo service nginx restart
現(xiàn)在WordPress應(yīng)該運(yùn)行在兩個(gè)應(yīng)用程序服務(wù)器,它們是負(fù)載均衡的。但仍有最后一個(gè)配置需要更改。
更新WordPress配置
現(xiàn)在你的WordPress應(yīng)用程序的URL已經(jīng)改變,我們必須在WordPress更新幾個(gè)設(shè)置。
在wordpress服務(wù)器,編輯你的wp-config.php文件。它位于WordPress的安裝位置(在本教程中,它是安裝在/var/www/example.com但你安裝可能會(huì)有所不同):
cd /var/www/example.com; sudo vi wp-config.php
找到"DB_NAME"所在行;增加以下配置在該行之上,并且替換紅色的值:
define('WP_SITEURL', '');
define('WP_HOME', '');
保存并退出。
現(xiàn)在WordPress url配置為指向您的負(fù)載平衡器,而不是只有最初的WordPress服務(wù)器,而且在當(dāng)你試著訪(fǎng)問(wèn)wp-admin控制臺(tái)時(shí)發(fā)揮作用。
負(fù)載均衡完成
您的web應(yīng)用程序服務(wù)器現(xiàn)在是負(fù)載均衡的。你的負(fù)載平衡WordPress現(xiàn)在可以訪(fǎng)問(wèn)您的用戶(hù)通過(guò)負(fù)載均衡器haproxy-www的外網(wǎng)IP地址或域名訪(fǎng)問(wèn)!
本文標(biāo)題:wordpress指定卷 wordpress怎么自定義頁(yè)面
文章源于:http://muchs.cn/article34/ddcddpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、、標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)