配置uWSGI启动Django
1、安装
pip3 install uwsgi
2.uwsgi.ini文件详情介绍
[uwsgi] #套接字方式--使用nginx连接时使用,后面是Django程序所在服务器地址 # socket=192.168.0.0:8000 #http通信方式--直接做web服务器使用,后面是Django程序所在服务器地址 http=192.168.0.0:8000 #配置当前工作的项目目录 chdir=/home/myproject/MyWebWord #项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=MyWebWord/wsgi.py # 进程数 processes=4 # 线程数 threads=2 # 开启主进程模式--uwsgi服务器的角色 uwsgi做主进程,关闭该进程其他相关进程也会被杀掉 master=True # 存放进程编号的文件 pidfile=uwsgi.pid # 后台运行,并输出日志,后面是日志文件位置,后台运行时看不见终端所以只能查看日志 daemonize=uwsgi.log #一般使用以上配置基本可以满足需求–但是uwsgi还有很多其他配置项如下: # 并发的socket 连接数。默认为100。优化需要根据系统配置--未测试 listen = 4 # 如果想加载静态文件,则配置静态文件所在目录--未测试 static-map=/static=/home/myproject/MyWebWord/static # 指定依赖的虚拟环境--未测试 virtualenv=/home/python/.virtualenvs/django_2.2_env # 指定python环境路径 二选一 --未测试 pythonpath=/home/python/.virtualenvs/django_2.2_env/lib/python/site-packages # pythonpath=/home/python/.virtualenvs/django_2.2_env/bin #monitor uwsgi status 通过该端口可以监控 uwsgi 的负载情况--未测试 stats = 0.0.0.0:9192 # 启动uwsgi的用户名和用户组 uid=root gid=root # 设置自中断时间 harakiri=30 # 设置缓冲 post-buffering=4096 # 设置自中断时间 harakiri=30 # 设置缓冲 post-buffering=4096
3、服务命令
#启动时进入虚拟环境–进入项目目录–输入以下命令 uwsgi --ini uwsgi.ini #关闭时进入虚拟环境–进入项目目录–输入以下命令 uwsgi --stop uwsgi.pid #或者使用pkill杀掉所有uwsgi进程: pkill -f -9 uwsgi
4.Django settings配置
# 配置为生产环境时关闭debug功能 DEBUG = False # 配置ALLOWED_HOSTS ALLOWED_HOSTS = ['公网IP', 'localhost', '0.0.0.0:8000', '127.0.0.1']
5、懒一点:使用脚本前,需要先进入项目的虚拟环境后在执行脚本
#启动: import os print('开始执行启动uWSGI') print('执行命令: cd /home/myproject/MyWebWord') os.popen(r"/home/myproject/MyWebWord") start = os.popen('uwsgi --ini uwsgi.ini').read() print('执行命令: uwsgi --ini uwsgi.ini') print(start) print('脚本执行完毕') #关闭: import os print('开始执行停止uWSGI') print('执行命令: cd /home/myproject/MyWebWord') os.chdir(r"/home/myproject/MyWebWord") print('执行命令: uwsgi --stop uwsgi.pid') stop = os.popen('uwsgi --stop uwsgi.pid').read() print(stop) print('脚本执行完毕')
摘自:https://blog.csdn.net/weixin_39422137/article/details/124071494
(只做个人笔记备忘)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了