記錄一次nginx 403錯(cuò)誤的處理情況 抖仅,當(dāng)然nginx 403錯(cuò)誤引起的原因有很多蚕冬,這里記錄的只是其中一種 (權(quán)限引發(fā)的問題)
場(chǎng)景:
我把個(gè)人簡(jiǎn)歷放在github上,但是訪問很慢膊畴,就把這個(gè)靜態(tài)簡(jiǎn)歷遷移到我的VPS服務(wù)器上抚笔,使用nginx做web服務(wù),訪問時(shí)出現(xiàn)403錯(cuò)誤
nginx配置(只展示重要部分):
server {
listen 10000 ;
server_name xxxx.xxxx.com ;
access_log /home/resume/log/access.log main ;
error_log /home/resume/log/error.log ;
location / {
root /home/resume/www ;
index index.html ;
}
}
訪問結(jié)果:
Paste_Image.png
查看nginx錯(cuò)誤日志:
出現(xiàn)了關(guān)鍵字“Permission denied”
2016/12/23 14:02:26 [error] 5887#5887: *573 open() "/home/resume/www/index.html" failed (13: Permission denied), client: 192.168.15.2, server: xxxx.xxxx.com, request: "GET /index.html HTTP/1.0", host: "xxxx.xxxx.com"
排錯(cuò)記錄:
一看是權(quán)限問題请琳,馬上把** /home/resume/www**目錄下的所有文件權(quán)限改為777 ,重新訪問還是 403 粱挡,反反復(fù)復(fù)折騰了很久,無解....
第二天晚上繼續(xù)俄精,懷疑是nginx配置錯(cuò)誤询筏,搜索 nginx html時(shí)找到這個(gè)文章nginx 代理本地的html
原來是nginx配置中的用戶權(quán)限問題
-
查看nginx worker 用戶,www-data 是nginx默認(rèn)配置的
Paste_Image.png - 靜態(tài)文件存放的文件夾用戶是scott,組為executor 竖慧,所nginx用戶為www-data導(dǎo)致權(quán)限問題(如果nginx配置的用戶和靜態(tài)文件的用戶不匹配屈留,那怕權(quán)限是777也會(huì)出現(xiàn)權(quán)限問題,具體看<nginx.conf> nginx用戶權(quán)限)
用戶 - 配置nginx權(quán)限和靜態(tài)文件統(tǒng)一
- 編輯nginx配置文件
vim /etc/nginx/nginx.conf
- 修改文件第一行的為靜態(tài)文件的用戶和組
# user 用戶名 用戶組 ; 這里的用戶名和組就是靜態(tài)文件的
user scott executor ;
Paste_Image.png
- 檢查配置正確性
nginx -t
上面的命令執(zhí)行后返回以下內(nèi)容則成功
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 重啟nginx
nginx -s stop
nginx -c /etc/nginx/nginx.conf