centos 配置php-fpm和nginx的通訊,centosphp-fpm

來源:互聯網
上載者:User

centos 配置php-fpm和nginx的通訊,centosphp-fpm

<span style="font-size:18px;">以下是nginx的預設設定檔: server {        listen       80;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   /usr/share/nginx/html;            index  index.html index.htm;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    } </span>

一個location匹配一個(一種)url。

匹配到對應的url就轉到對應的location中,然後進行處理請求。

預設的root是/usr/share/nginx/html,也就是會轉到對應的目錄下進行處理請求。

但是匹配到有php的檔案就沒有辦法進行解析。

這裡用到了php-fpm  也就是fastcgi在php下的一個類庫。

當匹配到有.php結尾的請求的時候,就將該請求轉到fastcgi進行處理。


關於server_name 還糾結了好久,當我在同一作業系統下有兩個使用者a和b,兩者都有各自的root目錄進行訪問,並且同時都配置了各自的server。但是nginx的設定檔是在全域其作用的。那麼如果在區域網路中c訪問這個伺服器的時候,那麼到底訪問哪個目錄呢?

後來,哥哥告訴我了。

一般在上線的網站中配置nginx的時候,server_name是網域名稱,根據不同的網域名稱,nginx自然是知道怎麼去轉的。

如果是在區域網路中用ip進行訪問,如果存在著兩個server,那麼就配置一個當用ip進行訪問的時候,預設跳轉到一個目錄下就可以了。

自己線上下進行折騰的時候,就配置一個人server就可以了。

預設就會請求這個目錄,並用fastccgi進行轉寄。


在配置nginx的時候發現了一個問題,訪問的root目錄下,.html結尾的靜態檔案是可以正常被訪問的,.php結尾的就不行。

後來才發現,在進行配置的時候,將root變成了局部變數,導致匹配php檔案的時候,找不到root。自然就找不到要訪問的檔案了。

最後的配置如下:


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.