這篇文章主要介紹了php+nginx項目中權(quán)限的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、微信公眾號開發(fā)、小程序設(shè)計、H5場景定制、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、營銷型網(wǎng)站資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。nginx/php-fpm
進程權(quán)限
主進程用戶為啟動的用戶
子進程
1、nginx的用戶為nginx.conf中配置的用戶
2、php-fpm的用戶為php-fpm.conf中配置的用戶
如:啟動nginx的是root,nginx中配置的user是nginx,那主進程就是root,子進程就是nginx
處理方式
以下訪問均以nginx子進程進行
靜態(tài)文件
步驟:nginx訪問/index.html時,nginx會直接訪問對應(yīng)文件,并將內(nèi)容返回給請求的客戶端。
權(quán)限情況:此時只需要nginx擁有index.html文件的權(quán)限即可。
php腳本文件
步驟:
nginx訪問/index.php時,nginx為了能夠把正確的腳本處理結(jié)果返回給客戶端,需要進行配置告訴nginx.php是非靜態(tài)文件,需要php腳本解析器進行處理后才能返回內(nèi)容。
一般來講會在nginx配置中加上類似fastcgi_pass unix:/var/run/php5-fpm.sock;這樣的配置項,指明nginx在遇到訪問腳本文件時需要去找誰,之后會訪問該文件做到將請求轉(zhuǎn)發(fā)至php-fpm。
由php-fpm訪問真正的php腳本文件,將結(jié)果返回值nginx,再有nginx將結(jié)果返回至客戶端。
權(quán)限情況:
nginx需要有/var/run/php5-fpm.sock文件權(quán)限;
php-fpm需要有/index.php文件權(quán)限;
用戶配置位置
nginx用戶設(shè)置在nginx.conf中第一行的user
php-fpm用戶設(shè)置在php-fpm.conf中的
listen.owner = xxx;設(shè)置unix socket用戶
user = xxx設(shè)置進程啟動用戶
注:以上兩個配置文件不同的操作系統(tǒng)下文件名略有不同,請根據(jù)自身安裝情況自行判斷。
nginx轉(zhuǎn)發(fā)內(nèi)容到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端口權(quán)限),如果本地開發(fā)nginx是用普通用戶重啟,那么主進程和子進程都會是當前用戶,nginx.conf中的配置不再起效,暫不清楚原因。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php+nginx項目中權(quán)限的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!