1. 程式人生 > >將WordPress部落格從Apache移植到Nginx後的若干問題總結

將WordPress部落格從Apache移植到Nginx後的若干問題總結

近期,我把我的小站從萬網輕雲伺服器移植到了ECS上。下面對出現的一系列問題進行總結。

問題1、如何移植到ECS上。

原來在輕雲伺服器上的時候,所有的LAMP環境都是準備好的,直接上傳網站就可以了。但是ECS只是一個光禿禿的伺服器,所以想要跑起來原來的網站就必須先搭建PHP所需要的環境,考慮到以後可能會有更大的訪問量和計算量(- -! 是不是想的有點多),所以選擇了LNMP。(真是不作就不會死啊…..)

具體環境搭建網上都有很多教程。傳送門:我是傳送門!快點我!!

搭建之前呢,要先把原來伺服器上的網站和資料庫做好備份。網站內容直接用FTP下載到本地就OK了。資料庫可以去萬網資料庫管理的後臺備份下載。

然後搭建LNMP。

再然後呢,把備份好的網站傳到nginx的訪問目錄下。把資料庫檔案新增到新伺服器的mysql中。

友情提示:匯入資料庫檔案,如xxx.sql的步驟是:

1、建立對應的資料庫:create database 資料庫名

2、然後使用命令切換到建好的資料庫:use 資料庫名;

3、最後使用命令匯入資料庫檔案即可 :source xxx.sql(如果不是在root目錄下需要加上路徑)

然後把域名重新解析到新的伺服器上。

最後輸入網址,訪問網站。OK,首頁出現了,點選文章看看,哈,404了。。。。(早說了不作不會死)

後來從網上查詢資料發現是因為wordPress使用了偽靜態連結。而apach和nginx的偽靜態配置有所不同。

問題2、如何配置nginx偽靜態設定

好了,找到問題解決問題。下面進行nginx偽靜態設定。

首先,在原來網站根目錄找到.htaccess檔案,注意這個檔案是隱藏檔案喲。

然後用記事本開啟該檔案,複製裡面的內容。去這個網站,將內容貼到文字框,並點選convert,將內容轉換成nginx下的偽靜態規則。

接著將轉換後的內容新增到default檔案的server中,我的default檔案在/etc/nginx/sites-available資料夾下。如下:

藍色為新增的內容。

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
#ignored: “-” thing used or unknown variable in regex/rew 
if (!-f $request_filename){
set $rule_1 1$rule_1;
}
if (!-d $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = “21”){
rewrite /. /blog/index.php last;
}
index index.html index.htm index.php;

# Make site accessible from http://localhost/
server_name www.ilrose.com;

最後重啟nginx伺服器:service nginx restart

OK,問題解決了。