起始页为403 Forbidden

  • 由于启动用户和nginx工作用户不一致所致

    • 看nginx的启动用户,发现是nobody,而为是用root启动的

    • ps aux | grep "nginx: worker process" | awk '{print $1}'

    • 解决方法: 将nginx.config的user改为和启动用户一致

      1
      2
      vi conf/nginx.conf
      // 修改 user 配置项
  • 缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

  • 权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

    • 解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
  • SELinux设置为开启状态(enabled)的原因。

    • 查看当前selinux的状态 /usr/sbin/sestatus

    • SELINUX=enforcing修改为SELINUX=disabled状态 vi /etc/selinux/config

      #SELINUX=enforcing

      SELINUX=disabled

    • 重启生效

部署VUE dist包,刷新之后404

  • 修改前配置文件

    1
    2
    3
    4
    5
    6
    7
    server{
    server_name data.com;
    listen 80;
    location / {
    root /usr/local/data-admin/;
    }
    }
  • 解决办法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    server{
    server_name data-admin.com;
    listen 80;
    location / {
    root /usr/local/data-admin/;
    # 补充起始页
    index index.html index.htm;
    # 避免刷新后404
    try_files $uri $uri/ /index.html;
    }
    }

Nginxconf.d目录下的conf配置文件加载顺序

  • nginx/etc/nginx/conf.d的目录下如果有多个配置文件,是按照文件的名称顺序依次读取的,如果对配置文件有优先级要求,则需要根据优先级排列三个配置文件,最好文件加上数字顺序,例如:1-default.conf、2-ibmtools.conf