28.-项目部署-uwsgi

一、基础概念 项目部署是指在软件开发完毕后,将开发机器运行的软件实际安装到服务器上进行长期运行 1.在安装机器上安装和配置同版本的环境[py,数据库等]   二、Django项目迁移
1.sudo scp 项目路径  服务器地址
  输入密码
2.uWSGI 代替python3 manage.py runserver方法启动服务器
4.配置nginx反向代理服务器
5.用nhinx配置静态文件路径,解决静态路径问题

 

  三、uWSGI网关接口配置   1.WSGI定义 WSGI(Web Server Gateway Interface) WEB服务器网关接口,是python应用程序或框架和web服务器之间的一种接口,被广泛使用 使用python3 manage.py runserver 通常只在开发和测试环境中使用 当开发结束后,完善的项目代码需要在一个高效稳定的环境中运行,这时可以使用WSGI 28.-项目部署-uwsgi 2.uWSGI定义 uWSGI时WSGI的一种,它实现了http协议 WSGI协议以及uwsgi协议 uWSGI功能完善,支持协议众多,在python web圈热度极高   3.uWSGI安装 pip3.9 install uwsgi==2.0.18   4.配置uWSGI 添加配置文件 项目同名文件夹下/uwsgi.ini #文件名可自定义 整个文件以[uwsgi]开头  
;uwsgi.init 配置
;ini文件中注释是以;开头

[uwsgi]

http =  地址:端口

socket = 地址:端口[此方式需要有nginx]

;使用socket方式的话 需要将http方式禁掉,二选一

chdir= 绝对路径项目地址

wsgi-file = wsgi.py文件路径,相对路径, 项目同名文件夹/wsgi.py

process = 进程个数

threads = 每个进程的线程个数

pidfile = uwsgi.pid  - 服务的pid记录文件

daemonize = uwsgi.log - 服务的日志文件位置

master = True  - 开启主进程管理模式

 

  settings.py配置
settings.py配置

1.修改settings.py将DEBUG=True 改为DEBUG = False
2.修改settings.py 将ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS['网站域名'] 或者['服务器监听的IP地址']

 

  四、uWSGI运行管理  
#启动uwsgi
cd到uwsgi配置文件所在目录
uwsgi --ini uwsgi.ini

#停止uwsgi
cd到uwsgi配置文件所在目录
uwsgi --stop uwsgi.pid

###说明###
无论是启动还是关闭,都需要执行ps aux|grep 'uwsgi' 确认是否符合预期
启动成功后,进程在后台执行,所有日志均输出在配置文件所在目录的uwsgi.log中
Django中有任何代码修改,需要重新启动uwsgi

###uwsgi测试##
在浏览器输入访问地址进行测试
此时端口被uWSGI进程监听,并非runserver
如果当前有预期返回,则uWSGI启动成功

 

  五、Uwsgi常见问题汇总 28.-项目部署-uwsgi  

上一篇:28-RestHighLevelClient----应用


下一篇:一刷28-栈与队列-232用栈实现队列(e)