最近搞一些測試,一直想把WP的web引擎換掉,目前一直使用的是apache+nginx,一直想換成FastCGI(nginx+php),可以極大的提高網站并發連接數的承受力,是Apache的8倍以上~切換一下雖然容易,但是WP網站除了主頁全部404無法訪問,這是因為nginx并不支持Apache的.htaccess偽靜態.
官方也沒說怎么寫nginx的偽靜態,所以WP根目錄下的.htaccess完全沒用了,直接刪掉,接下來就是想辦法搞定nginx下的WP偽靜態了,查了很多國外的資料,因為用Linux版本不一樣,lnmp也不一樣,nginx的環境配置文件位置也是千奇百怪,最常見的就是wp官網上一幫老外討論的 /etc/nginx/sites-enabled/,但是這個路徑其實WDCP安裝好以后根本就沒有好嘛,看了探針原來conf文件都在 /wdlinux/nginx/conf里面,找到Vhost就好辦了,可以找到站點的配置文件鳥~
首先的辦法就是在nginx-1.0.15/conf下創建一個worpdress.conf文件,寫入偽靜態規則,然后在站點的conf里面通過include wordpress.conf;引用,然后 service nginxd restart 就好,但是測試了不下30中規則都不行,簡直郁悶了,后來看到了“一縷陽光”的這篇博文,恍然大悟,他演示的Ubuntu的,我的CentOS一樣適用,修改如下:
- server {
- listen 80;
- server_name www.XXX.com www.XXX.com;
- root /mnt/data/www/web/www_XXX_com/public_html;
- index index.html index.php index.htm;
- error_page 400 /errpage/400.html;
- error_page 403 /errpage/403.html;
- error_page 404 /errpage/404.html;
- location ~ /.php$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fcgi.conf;
- }
- index index.html index.php;
- if (-f $request_filename/index.html){
- rewrite (.*) $1/index.html break;
- } //Vevb.com
- if (-f $request_filename/index.php){
- rewrite (.*) $1/index.php;
- }
- if (!-f $request_filename){
- rewrite (.*) /index.php;
- }
- }
然后不要忘記 service nginxd restart 就此,WP可以在Nginx上完美運行鳥,注適合/%postname%/固定連接,其他方式沒有測試.
新聞熱點
疑難解答
圖片精選