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

原文地址:https://www.cnblogs.com/tjw-bk/p/14122272.html