Nginx 安裝時常見的問題

由 Derek 發表於 七月 5, 2011 / 尚無評論

 

相信在安裝Nginx時,多少都會遇到一些錯誤訊息。而我自己也遇到一些問題。所以整理了以下常見的問題和解決的方式。希望對想安裝Nginx的人有些幫助。

 

問題一 :

在安裝好 php-fpm 服務,要啟動時出現下面的錯誤訊息。

[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'

 

解決方法 :

請修改 php-fpm.conf,找到以下幾行。請把紅色的注解移除。


                   Unix user of processes

        <!--    <value name="user">www</value>          -->

 

                Unix group of processes

        <!--    <value name="group">www</value>         -->

 

修改為下列樣子


                 Unix user of processes

               <value name="user">www</value>        

 

               Unix group of processes

               <value name="group">www</value>       

修改完成,就可以直接重啟php-fpm服務。

 

問題二 :

PHP在編譯MySQL時出現下列錯誤訊息。

mysql configure: error: mysql configure failed. Please check config.log for more information

 

解決方法 :

方法一 :

請先修改PHP 在編譯時 MySQL的路徑如下,請修改紅色字體的部份

 

原編譯的內容 :

./configure prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-iconv-dir=/usr/local

 

修改編譯的內容 :

./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql-dir=/usr/local/webserver/mysql --with-iconv-dir=/usr/local

 

方法二 :

請注意一下在編譯時MySQL所指定的路徑是否正確

with-mysql-dir=/usr/local/webserver/mysql

若版本為64位元時要指定的路徑為是在 /usr/lib64/mysql, 不是在 /usr/lib/mysql.

 

問題三 :

Nginx開啟網頁時出現 403 Forbidden

 

解決方法 :

方法一 :

由於是使用PHP,所以在nginx.conf設定部份要加入讀取index.php

請先檢查nginx.conf檔的設定


   server

  {

    listen       80;

    server_name  blog.faq-book.com ;

    index index.html index.htm ;

    root  /var/www/blog;

 

 location ~ .*\.(php|php5)?$

    {

      #fastcgi_pass  unix:/tmp/php-cgi.sock;

      fastcgi_pass  127.0.0.1:9000;

      fastcgi_index index index.html index.htm;

      include fcgi.conf;

 

改為


    server

  {

    listen       80;

    server_name  blog.faq-book.com ;

    index index.html index.htm index.php;

    root  /var/www/blog;

 

location ~ .*\.(php|php5)?$

    {

      #fastcgi_pass  unix:/tmp/php-cgi.sock;

      fastcgi_pass  127.0.0.1:9000;

      fastcgi_index index index.html index.htm index.php;

      include fcgi.conf;

 

方法二 :

nginx.conf檔案中的server設置,請檢查看是否有加 ( ; )


    server

  {

    listen       80

    server_name  blog.faq-book.com 

    index index.html index.htm index.php

    root  /var/www/blog

 

改為請在server段中每行結束都加上分號 ( ; )


    server

  {

    listen       80;

    server_name  blog.faq-book.com ;

    index index.html index.htm index.php;

    root  /var/www/blog;

 

方法三 :

出現此錯誤有可能是Document Root沒有Web Server(Nginx)用戶的權限,可修改權限後在試試。

 

#chown -R www:www /var/www/document_root

(wwwNginx user/var/www/document_rootnginx.confserver段中root參數值)

或是

    chomod –R 755 /var/www/document_root 就行了。

 

 

問題四 :

502 Bad Gateway,會出現此錯誤訊息大多都是PHP-CGI進程數不夠用、PHP執行時間過長、或者是PHP-CGI服務死掉,都會出現此錯誤訊息

 

請打開php-fpm.conf

調大以下兩個參數(還請適當調整)

<value name=”max_children”>10</value>(VPS内存360M,再大估计内存就有可能超标了.)

<value name=”max_requests”>10240</value>

調整好後就請重啟php-fpm  /usr/local/php/sbin/php-fpm reload

若想深入分析Nginx 502 Bad GatewayNginx 504 Gateway 可參考此篇文章


 

 

關於作者

一個半路殺出來的傻小子,憑著一股傻勁努力的學習、嘗試、分享。希望能用自己微薄之力,替IT界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*