0.4 uwsgi和nginx部署常见问题及解决

​ 前言:

​ 最近部署nginx+uwsgi+django 总是报错 写一个报错锦集

                                             

1.nginx错误#

启动nginx报错 一般就是配置文件写错了 需要细心排查一下#

解决思路:查看nginx的error.log日志

tail -f /var/log/nginx/error.log

打开error日志可以清晰的看的是哪一行报错 我们可以去对应的配置文件中去修改。。。

vim /etc/nginx/conf.d/django.conf

打开django.conf我们可以看到我们的配置文件哪一行少一个空格。。需要细心啊~

修改之后我们在执行:wq保存再重新启动nginx(systemctl restart nginx)就可以啦

                                             

在浏览器中访问抱错 也就是nginx可以启动 但是在浏览器中访问路由会报错#

比如:Internal Server Error 500/404

解决思路:查看nginx接入access.log日志

cd /home/worker/opwf_project/uwsgi_conf

tail -f * tail -f * 可以看到最新的报错信息

打开access.log日志会发现报错信息。。可以清晰的看到是端口被占用 找到对应端口 kill -9 xxx 杀死就 OK了。

                                             

                                             

2. 端口占用冲突问题#


就是上方哪个图片 Address already in use 端口被占用

(syl) root@dev:uwsgi_conf# netstat -anptu | grep 8000 # 查看端口是否占用 
kill -9 68279	#杀死对应进程号

                                             

  • uwsgi每次修改代码后最好都重启一下
uwsgi --ini uwsgi.ini # 启动 (syl) root@dev:uwsgi_conf# 
ps -ef|grep uwsgi	#查看uwsgi是否启动

                                             

3. nginx权限问题,无法打开vue部署文件#


这个报错属实很让人头突 ,启动nginx 没有问题,排查了配置文件没有问题 在浏览器中访问就是报错。。。。让人很头疼啊。。。最后听别人讲是权限问题 崩溃。。。

                                             

查看nginx的error.log日志

2020/12/11 09:08:59 [error] 4697#4697: *33 open() "/root/桌 面/opwf_project/opwf/static/rest_framework/js/default.js" failed (13: Permission denied), client: 192.168.56.1, server: 192.168.56.100, request: "GET /static/rest_framework/js/default.js HTTP/1.1", host: "192.168.56.100:8888", referrer: "http://192.168.56.100:8888/user/user/"

                                             

1、nginx用户和root用户是两个独立的用户,nginx用户不能操作root用户下的目录,如果想要操作root用户下的文件,需要对齐授权操作

2、如果想使用nginx用户,可以把项目目录放到nginx用户目录下,nginx用户的目录一般在/usr/share/nginx/html,这样的话也是比较方便的。

3、使用root用户启动nginx,root用户拥有最高权限。

做法如下,打开nginx.conf。本人的nginx.conf路径:/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

把之前的www-data修改为root

posted @   就学45分钟  阅读(1430)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示
主题色彩