原文鏈接:https://zhongyi.io/2017/11/nginx-403-forbidden/
每次重新部署 Nginx 總會遇到Nginx 403 Forbidden
這個錯誤,這里列一個排除此類錯誤的清單。
每次重新部署 Nginx 總會遇到 Nginx 403 Forbidden
這個錯誤,這里列一個排除此類錯誤的清單。
-
確認 Nginx 正常啟動,這里要記錄啟動 Nginx 的用戶供后續步驟使用,通常是
nginx
。$ ps -ef | grep nginx | grep -v grep root 1714 1 0 14:27 ? 00:00:00 nginx: master process /usr/sbin/nginx nginx 1973 1714 0 14:45 ? 00:00:00 nginx: worker process
-
確認 Nginx 的初始配置
/etc/nginx/nginx.conf
正確,特別注意root
和index
。$ cat /etc/nginx/nginx.conf ... server { listen 80; listen [::]:80; server_name _; root /srv/zhongyiio/; location / { index index.html; } } ... $ sudo nginx -t # 如果不是以下結果,需要根據報錯修改語法錯誤 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
-
確認網站靜態目錄權限,一般情況文件夾 755、文件 644 就行,用戶和用戶組和步驟 1 保持一致,這里為 nginx。
$ ls -la /srv/zhongyiio total 44 drwxr-xr-x. 11 nginx nginx 235 Nov 13 08:27 . drwxr-xr-x. 3 root root 23 Nov 14 14:14 .. drw-r--r--. 5 nginx nginx 36 Nov 13 08:27 2017 -rw-r--r--. 1 nginx nginx 10 Nov 13 08:27 CNAME drw-r--r--. 3 nginx nginx 36 Nov 13 08:27 archives -rw-r--r--. 1 nginx nginx 18197 Nov 13 08:27 atom.xml -rw-r--r--. 1 nginx nginx 1785 Nov 13 08:27 baidusitemap.xml drw-r--r--. 4 nginx nginx 32 Nov 13 08:27 categories drw-r--r--. 2 nginx nginx 44 Nov 13 08:27 css -rw-r--r--. 1 nginx nginx 1150 Nov 13 08:27 favicon.ico drw-r--r--. 2 nginx nginx 70 Nov 13 08:27 img -rw-r--r--. 1 nginx nginx 5164 Nov 13 08:27 index.html drw-r--r--. 2 nginx nginx 23 Nov 13 08:27 js drw-r--r--. 2 nginx nginx 24 Nov 13 08:27 reading -rw-r--r--. 1 nginx nginx 922 Nov 13 08:27 sitemap.xml drw-r--r--. 3 nginx nginx 23 Nov 13 08:27 tags drw-r--r--. 2 nginx nginx 24 Nov 13 08:27 talking
-
確認 SELinux 是否開啟,不建議關閉 SELinux
$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 # 如果狀態為 enabled 使用該命令,確保之后建立的文件和復制的文件具有 # 相同 httpd_sys_content_t 的類型,從而使受限的 httpd 進程能夠訪問 $ sudo chcon -R -t httpd_sys_content_t /srv/zhongyiio/