项目部署-uwsgi

项目部署是指在软件开发完毕后,将开发机器上运行的软件实际安装到服务器上进行长期运行

1.在安装机器上安装和配置同版本的环境【py,数据库等等】

2.django项目迁移

sudo scp /home/tarena/django/mysite1

[email protected]:/home/root/xxx

3.用uWSGI替代python3 manage.py runserver 方法启动服务器

4.配置nginx反向代理服务器

5.用nginx配置静态文件路径,解决静态路径问题

uWSGI安装

sudo pip3 install uwsgi==2.0.18 -i https://pypi.tuna.tsinghua.edu.cn/simple/

检查是否安装成功

sudo pip3 freeze|grep -i 'uwsgi'

添加配置文件  项目同名文件夹/uwsgi.ini

如:mysite1/mysite1/uwsgi.ini

文件以[uwsgi]开头,有如下配置:

套接字方式的IP地址:端口号【此模式需要有nginx】

        socket=127.0.0.1:8000

http 通信方式的IP地址:端口号

        http=127.0.0:8000

项目当前工作目录

        chdir=/home/tarena/'''/my_project

项目中wsgi.py文件的目录,相对于当前工作目录

        wsgi-file-my_project/wsgi.py

进程个数

        process=4

每个进程的线程个数

        threads=2

特殊说明:Django的setting.py需要如下配置

1,修改settings.py将DEBUG=True 改为DEBUG=False

2,修改settings.py 将ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['网站域名']或者['服务监听的id地址']

启动uwsgi

cd 到uWSGI配置文件所在的目录

uwsgi --ini uwsgi.ini

停止 uwsgi

cd 到uWSGI配置文件所在目录

uwsgi --stop uwsgi.pid

【Django项目部署】Nginx+uWSGI+Django部署_就叫一片白纸的博客-CSDN博客

碰到问题可以看此链接

uWSGI常见问题汇总

1,启动失败:端口被占用

原因:有其他进程占用uWSGI启动端口

解决方案:可执行sudo lsof -i:端口号 查询出具体进程;杀掉进城后重启uWSGI即可

2,停止失败:stop 无法关闭uWSGI

原因:重复启动uWSGI,导致pid文件中的进程号失准

解决方案:ps uWSGI进程,手动kii

你可能感兴趣的:(django,python,后端)