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 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常见问题汇总