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