Nginx部署静态应用踩坑总结

610 阅读1分钟

1. 启动Nginx服务器后报403 Forbidden错误

首先检查其他错误,如路径等,如果其他配置正常,则可以尝试修改nginx.conf中的user选项:

user    root admin; # 将群组改为root admin
worker_processes 1;
http {
    # 省略
}

采用其他的解决方案也是可以的,问题的本质是因为权限不足。

PS:如上述方案无效,可自行搜索其他原因,如:Nginx服务器后报403 错误原因

2. 启动Nginx服务器后报404 NotFound错误

明明已经设置好了root路径和index依旧找不到文件,此时可能需要配置try_files属性:

server{
    location / {
        root    /my-project;
        index   index.html index.htm
        try_files $uri $uri/ /index.html #添加此行,注意别写错
    }
}

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。 需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。

PS:更新配置后请重启nginx:sudo nginx -s reload