宝塔部署nginx遇到的400错误和502错误

文章讲述了作者在部署Express项目时遇到的两个问题:400错误因Nginx反向代理配置导致,需确保端口不同;502BadGateway源于服务器断开连接,发现是MySQL查询返回空数组引发。通过调整配置和排查代码解决了问题。
摘要由CSDN通过智能技术生成

在部署express项目的过程中,由于我的代码有些变化,于是在宝塔面板上我又重新上传了一下我的项目,结果阴差阳错的被nginx反向代理配置不当引起的400错误request header or cokkie is too large和自己代码逻辑问题引起的502 bad gataway给绊倒了。
首先说第一个问题:
(1)400 :request header or cokkie is too large
标记的两处端口号不可以相同,location相当于在做反向代理,如果两处端口号相同,那么就会造成代理死循环,在日志里可以发现,你发送一个请求,可能会有一百个日志,因此会返回400
在这里插入图片描述
假设你的域名端口号是4000,项目端口号是3000,在宝塔面板中你应该这样去部署
(1)nginx文件中的server的listen是4000
connect() failed (111: Connection refused) while connecting to upstream

(2)在node项目管理以及pm2管理器这里放的都是3000
在这里插入图片描述
在这里插入图片描述
(2)502 bad gataway
查看日志的时候有这么一项错误,一直以为是nginx反向代理的问题,一直在网上查找,才明白其实是自己的服务器断开连接了,nginx将请求已经转接过来了。在宝塔面板的项目终端中通过npm start将项目运行了起来,用postman又发送了一次请求,是由于mysql查询回来的数组是空数组,我有同通过[0].parent_id去查找parent_id,报错说没有parent_id。

connect() failed (111: Connection refused) while connecting to upstream

不过因此也找到一个方法,在宝塔面板上运行项目,查找错误

您好!要在宝塔面板上使用Docker部署Nginx,可以按照以下步骤进行操作: 1. 在宝塔面板上安装Docker插件。登录到宝塔面板,点击左侧菜单栏的“软件商店”,搜索并安装Docker插件。 2. 创建一个新的Nginx容器。在宝塔面板上,点击左侧菜单栏的“Docker”,然后点击“创建容器”按钮。填写容器名称、选择镜像(可以选择官方的Nginx镜像),设置端口映射(将容器内的80端口映射到宿主机的某个端口,如8080),点击“创建”按钮。 3. 配置Nginx容器。在容器列表中找到刚创建的Nginx容器,点击“管理”按钮。在弹出的窗口中,点击“文件管理”,进入容器内部的文件系统。 4. 配置Nginx。在容器内部的文件系统中,找到Nginx配置文件(通常位于`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`)。根据您的需求修改配置文件,例如设置网站根目录、添加虚拟主机等。 5. 保存并退出。完成Nginx配置后,保存并退出文件管理界面。 6. 启动Nginx容器。在容器管理界面,点击“启动”按钮,等待容器启动完成。 现在,您应该可以通过访问宿主机的IP地址和映射的端口(例如`http://宿主机IP:8080`)来访问您的Nginx容器了。请注意,这只是一个简单的示例,您可能需要根据自己的需求进行更多的配置和调整。 希望对您有所帮助!如果有任何问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Realistic-er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值