Django + uwsgi + nginx + Supervisor 安装笔记(出错)
安装过程 (不说了,网上找)
-
Django
-
uwsgi
-
nginx
-
Supervisor http://blog.cheyo.net/1.html //python3 https://blog.csdn.net/charlie_heng/article/details/60573688
出现的问题
1.linux下如何查找nginx配置文件的位置,方法如下:
先找出nginx可执行文件的路径
`ps -ef | grep nginx`
2.启动uwsgi.ini
这一步我被坑死了 网上说的是直接在script目录下uwsgi --ini uwsgi.ini 但是这样真的不对,需要找到uswgi所在的目录运行,我的是/usr/bin/uwsgi -- uwsgi.ini
but 我的一直出错,不运行,好久才发现是有两个uwsgi
我用的这个/home/hitwh/.local/bin/uwsgi --ini uwsgi.ini
3.nginx的配置文件
不知道为啥,我的配置文件跟网上说的不一样,我的在**/etc/nginx/sites-available**
的 default文件
/etc/nginx/sites-available$ sudo gedit default
nginx 操作命令
打开配置文件default,路径/etc/nginx/sites-available/default
启动 nginx sudo /etc/init.d/nginx start
重启 sudo /etc/init.d/nginx reload
4.Django的测试运行
python manage.py runserver
收集静态文件(别忘了修改setting)
python manage.py collectstatic
5.如果不能正常显示页面,请检查防火墙状态,
保证8000端口是能够被访问的
检查防火墙状态
sudo ufw status
可以临时关闭防火墙
sudo ufw disable
或者保持防火墙开启,允许8000端口连接
sudo ufw allow 8000
6.每次修改了Django项目中的模板/视图/URL/配置
文件,都需要重启uwsgi
服务。
killall -9 uwsgi
7.改变运行nginx的用户身份
没有权限,我就给你权限
把/etc/nginx/nginx.conf
第一行的user www-data;
中的www-data
改成权限足够高的用户,重启nginx
8.可能用到虚拟环境,Supervisor需要python2
virtualenv --distribute -p /usr/bin/python2 super //安装的目录
cd super
source bin/activate //进入虚拟环境,例如我的 /bean_work/super$ source bin/activate
./bin/pip install supervisor //安装
deactivate //退出虚拟环境
9.启动Supervisor:
supervisord -c /etc/supervisor/supervisord.conf
或supervisord -c /etc/supervisord.conf
看看自己的在哪
停止Supervisor(子进程也会被停止)
supervisorctl shutdown
查看Supervisor是否已经启动:
[root@aaa blog.cheyo.net]# ps -ef | grep supervisor | grep -v grep
root 1170 1 0 18:57 ? 00:00:00 /usr/bin/python /usr/bin/supervisord
[root@aaa blog.cheyo.net]#
查看业务进程是否已经被拉起:
[root@aaa blog.cheyo.net]# supervisorctl status
check12306 RUNNING pid 1230, uptime 0:04:39
[root@aaa blog.cheyo.net]#