前端打包部署到nginx 使用nginx代理访问配置遇到的一些问题及解决方法

文章讲述了在配置Nginx后遇到的错误,包括权限问题和刷新导致的404,提供了通过查看用户、修改配置文件及添加location规则来解决问题的方法。还介绍了Nginx的一些常用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置好nginx代理之后,访问报错:如图:
在这里插入图片描述

nginx看日志报以下错误:linux服务器 nginx日志路径 默认在 /var/log/nginx/ 目录下:
[crit] 16876#16876: *686 stat() “/home/projects/web/frontend/dist/index.html” failed (13: Permission denied)
在这里插入图片描述

可以这样排查:使用命令查看 master 和worker进程 用户是否一致:
命令:ps aux | grep nginx
在这里插入图片描述
如图所示:master 进程为 root worker 进程是www-data 是不一致的,没有权限的错误,也是因为这个造成了。
这个时候就需要更改配置文件:nginx.conf ,linux服务器该文件默认位置:在/etc/nginx/下:
如图:将user 改为 root
在这里插入图片描述
重新加载配置文件,使刚刚改的配置文件 生效: nginx -s reload
再次使用命令:ps aux | grep nginx 我们发现 master 和 worker 用户就一样了。
在这里插入图片描述
再次访问页面:就ok了。
在这里插入图片描述
问题2:nginx配置好之后,操作页面跳转都没问题,如果你在某个业务页面点击浏览器的刷新按钮,或者F5刷新,同样的路径就会包报404。 解决方法就是,在location 里加上下边红框里的配置。这样刷新就不会报404了。

我的server配置如下:
在这里插入图片描述
文本内容如下:

server {

    listen       9800;

    location / {
        index  index.html index.htm;
        root   /home/projects/web/frontend/dist/;
         try_files $uri /index.html;
    }


    location /dev-api/ {
        proxy_pass http://后台服务ip:后台服务端口/;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}

其他nginx 常用命令:
检查配置文件是否语法正确:
nginx -t
为nginx 指定一个配置文件:
nginx -c </path/config> #为Nginx指定一个配置文件,来代替缺省值conf/nginx.conf
修改完配置文件,使其生效:
nginx -s reload
停止nginx
nginx -s stop

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值