關於php + nginx專案中的權限詳解

墨辰丷
發布: 2023-03-27 11:44:01
原創
1266 人瀏覽過

這篇文章主要為大家介紹了關於php nginx專案中權限的相關資料,文章介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。

nginx/php-fpm

#進程權限

  • ##主行程使用者為啟動的使用者

  • 子程序

#1、nginx的使用者為nginx.conf中所配置的使用者


2、php-fpm的使用者為php-fpm.conf中配置的使用者


#如:啟動nginx的是root,nginx中配置的user是nginx,那麼主程式就是root,子程序就是nginx

處理方式

#以下存取皆以nginx子進程進行

靜態檔案

  • 步驟:nginx存取/index.html時,nginx會直接存取對應文件,並將內容傳回給要求的用戶端。

  • 權限狀況:此時只要nginx擁有index.html檔案的權限即可。


php腳本檔案

步驟:


  • nginx存取/ index.php時,nginx為了能夠把正確的腳本處理結果回傳給客戶端,需要進行設定告訴nginx.php是非靜態文件,需要php腳本解析器進行處理後才能回傳內容。

  • 一般來講會在nginx設定中加上類似fastcgi_pass unix:/var/run/php5-fpm.sock;這樣的設定項,指明nginx在遇到存取腳本文件時需要去找誰,之後會存取該檔案做到將請求轉送至php-fpm。

  • 由php-fpm存取真正的php腳本文件,將結果傳回值nginx,再有nginx將結果傳回客戶端。


權限狀況:


  • #nginx需要有/var/run/php5-fpm.sock檔案權限;

  • php-fpm需要有/index.php檔案權限;


使用者配置位置

nginx使用者設定在nginx.conf中第一行的user

php-fpm使用者設定在php-fpm.conf中的

  • listen.owner = xxx;設定unix socket用戶

  • user = xxx設定程序啟動使用者



注意:

以上兩個設定檔不同的作業系統下檔名略有不同,請依照自身安裝自行判斷。

nginx轉送內容到php-fpm不只有/var/run/php5-fpm.sock的方式,在php-fpm.conf中還可以透過設定改為xxx.xxx.xxx:9000等方式

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
;       a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;       a specific port;
; 'port'     - to listen on a TCP socket to all IPv4 addresses on a
;       specific port;
; '[::]:port'   - to listen on a TCP socket to all addresses
;       (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php5-fpm.sock
登入後複製

其他

#比較特別的點,一般nginx都是用root使用者啟動的(為了取得80埠權限),如果本地開發nginx是用普通用戶重啟,那麼主進程和子進程都會是當前用戶,nginx.conf中的配置不再起效,暫不清楚原因。
相關推薦:


PHP 網站如何修改預設存取檔案的nginx配置-實例分析

######nginx內php動態裁切圖片步驟詳解##################### #####php nginx實作即時輸出步驟詳解############################

以上是關於php + nginx專案中的權限詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!