摘要:在網(wǎng)上查找資料后有以下發(fā)現(xiàn)主進(jìn)程會(huì)以權(quán)限運(yùn)行,之后主進(jìn)程會(huì)讀取文件中的模塊的配置,會(huì)使用這個(gè)指定的用戶啟動(dòng)工作進(jìn)程。工作進(jìn)程是真正的網(wǎng)絡(luò)請(qǐng)求處理的進(jìn)程。如果沒有特別指定,那么會(huì)使用相同的名稱設(shè)置。
nginx 運(yùn)行后可以指定用戶,比如說一個(gè)靜態(tài)網(wǎng)頁(yè)服務(wù)器的文件目錄的不同的用戶有不同的訪問權(quán)限,使用 nginx 指定用戶就可以有權(quán)限對(duì)此目錄讀寫。
我其實(shí)很好奇怎么直接指定用戶的,而且運(yùn)行nginx的時(shí)候也沒有需要輸入密碼之類旳。
在網(wǎng)上查找資料后有以下發(fā)現(xiàn):
Nginx 主進(jìn)程(master process)會(huì)以 root 權(quán)限運(yùn)行,之后主進(jìn)程會(huì)讀取 /etc/nginx/nginx.conf 文件中的 user 模塊的配置,nginx 會(huì)使用這個(gè)指定的用戶啟動(dòng)工作進(jìn)程( worker process)。
那為什么主進(jìn)程需要使用 root?因?yàn)橹挥?root 可以監(jiān)聽小于1024的端口號(hào),通常 webserver 使用 80/443 端口,這也就是為什么需要 root 來運(yùn)行了。如果要更改非root用戶來運(yùn)行,需要更改下面的文件用戶和用戶組,當(dāng)然你也就不能使用 <1024 的端口了。
error_log
access_log
pid
client_body_temp_path
fastcgi_temp_path
proxy_temp_path
scgi_temp_path
uwsgi_temp_path
好了,具體進(jìn)程運(yùn)行如下圖所示。
這里可以看到 nginx 只有一個(gè)主進(jìn)程和多個(gè)工作進(jìn)程,主進(jìn)程主要讀取和評(píng)估配置文件正確性,以及管理工作進(jìn)程。工作進(jìn)程是真正的網(wǎng)絡(luò)請(qǐng)求處理的進(jìn)程。
如果主進(jìn)程使用root運(yùn)行,那么nginx 將會(huì)調(diào)用 setuid()/setgid() 去設(shè)置 user/group。如果 group 沒有特別指定,那么 nginx 會(huì)使用 user 相同的名稱設(shè)置 group。默認(rèn)為 nobody nogroup 或者安裝nginx的時(shí)候在 ./configure 指定的 --user=USER 和 --group=GROUP
配置語(yǔ)法:
Syntax: user?user?[group]; defualt: user nobody nobody; Context: main
如果使用了 php 的話,那么同時(shí)還需要編輯 php-fpm.conf
user - Unix user of processes. Default "www-data" group - Unix group of processes. Default "www-data"
原文首發(fā)在我的 github 博客,歡迎關(guān)注和star!
參考:
[Running Nginx as non root user
](https://stackoverflow.com/que...
How do I change the NGINX user?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39722.html
摘要:每個(gè)打開文件描述符的最大數(shù)量限制。多長(zhǎng)時(shí)間檢查一次緩存的有效信息指令中的參數(shù)時(shí)間內(nèi)文件的最少使用次數(shù),如果超過這個(gè)數(shù)字,文件描述符一直是在緩存中打開的。如果沒有匹配的,則默認(rèn)使用配置文件中第一個(gè)。 頂級(jí)配置 #定義 Nginx 運(yùn)行的用戶和用戶組 user nginx; #進(jìn)程文件 pid /var/run/nginx.pid; #錯(cuò)誤日志位置和級(jí)別,debug、info、not...
摘要:部分設(shè)置的指令將影響其它所有部分的設(shè)置部分的指令主要用于指定虛擬主機(jī)域名和端口的指令用于設(shè)置一系列的后端服務(wù)器,設(shè)置反向代理及后端服務(wù)器的負(fù)載均衡部分用于匹配網(wǎng)頁(yè)位置比如,根目錄等等。 nginx在工作中已經(jīng)有好幾個(gè)環(huán)境在使用了,每次都是重新去網(wǎng)上扒博客,各種編譯配置,今天自己也整理一份安裝文檔和nginx.conf配置選項(xiàng)的說明,留作以后參考。像負(fù)載均衡配置(包括健康檢查)、緩存(包...
閱讀 2906·2021-11-15 11:39
閱讀 1528·2021-08-19 10:56
閱讀 1100·2019-08-30 14:12
閱讀 3748·2019-08-29 17:29
閱讀 725·2019-08-29 16:21
閱讀 3427·2019-08-26 12:22
閱讀 1522·2019-08-23 16:30
閱讀 1029·2019-08-23 15:25