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
作者:就学45分钟
出处:https://www.cnblogs.com/tjw-bk/p/14122272.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了