wordpress是一款非常強大的開源的博客了,這款開源的博客對于各位朋友來講也是非常的常用了,今天我們來介紹WordPress博客nginx配置參數詳解.
WordPress是一個非常流行的Blog系統,它可以利用Apache的mod_rewrite來實現URL的靜態化,安裝好的WordPress在配置了持久鏈接之后,會在網站的根目錄下(如果可寫)生成一個.htaccess文件,這個文件可以指示Apache如何進行URL重寫(如果服務器配置為允許使用htaccess的指令的話),它的內容如下:
- # BEGIN WordPress
- RewriteEngine On
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- # END WordPress
這個文件的意思就是,如果當請求的文件不存在,那么把請求內部重定向到/index.php,WordPress會自己分析請求的URL,來判斷顯示哪個頁面.
在上次配置了Nginx+PHP之后,由于Nginx不支持Apache的.htaccess文件,要實現持久連接靜態化,我們必須手工配置Nginx的文件,首先找到Nginx的配置文件,默認編譯后的配置文件在/usr/local/nginx/conf/nginx.conf;Ubuntu通過包安裝的配置文件位于/etc/nginx/nginx.conf,也可以編輯vhost的配置文件,放在了/etc/nginx/sites-available下.
以下是基本的配置,Ubuntu下的范例:
- location / {
- index index.html index.php;
- if (-f $request_filename/index.html){
- rewrite (.*) $1/index.html break;
- }
- if (-f $request_filename/index.php){
- rewrite (.*) $1/index.php;
- } //Vevb.com
- if (!-f $request_filename){
- rewrite (.*) /index.php;
- }
- }
- location ~ .*/.php$ {
- include /etc/nginx/fastcgi_params;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- }
還可以有很多種不同配置方式,例如不改寫所有包含wp-的url等,此配置考慮了目錄下的索引文件index.html和index.php,-f指令表示測試文件是否存在,不考慮文件和目錄的區別,!-f則表示不存在,注意在重寫url到index.html后面有個break,而重寫到index.php后沒有break。因為html文件不需要任何額外工作可以直接發送到客戶端,所以重寫規則在這里終止,下面就直接讓nginx發送文件,而.php文件需要進一步發送到fastcgi進程來運行,Nginx會繼續判斷該文件符合第二個部分location ~ .*/.php$的規則,并進行FastCGI的轉發.
大家可以將以上內容保存為wordpress.conf,然后在自己的vhost配置,即server節中應用該配置文件,例如,以下為Ubuntu進行的配置:
- server {
- listen 80;
- server_name Vevb.com *.Vevb.com ;
- root /var/www/Vevb.com ;
- include /etc/nginx/wordpress.conf;
- }
接下來讓Nginx重新載入配置文件,便可使用WordPress的持久鏈接了.
新聞熱點
疑難解答
圖片精選