2.1 安装 uWSGI
sudo pip3 install uwsgi
2.2 命令测试启动
在项目文件目录下 , 类似 runserver 的一次性启动方式
uwsgi --http 0.0.0.0:8000 --file sms02/wsgi.py --static-map=/static=static
- –http 这个就和 runserver 一样指定 IP 端口
- –file django自动生成 wsgi.py 文件在和 settings.py 同目录下
- –static 做一个映射 , 指定静态文件(可以没有)
正常运行后 , 浏览器输入你的域名进行测试 ( 带上8000端口 )
以上操作 有可能会报 root启动 的错 , 若无法测试启动 , 请先忽略 , 进行 下一步操作
2.3 创建 uwsgi.ini 文件 ( 项目文件目录下 )
sudo vim sms02_uwsgi.ini # sms02 为我的项目名,文件名字可以随意
- uWSGI 文件内容如下 ( 我的项目名称为 sms02 请自行修改 )
[uwsgi] #指定IP 端口 http = 0.0.0.0:8000 #项目目录 chdir = /home/ubuntu/sms02/ #项目中wsgi.py文件的目录,相对于uwsgi.ini文件所在目录 wsgi-file=sms02/wsgi.py #生成sock文件的路径 socket=/home/ubuntu/sms02/uwsgi.sock #启用主进程 master = true #运行进程数 processes = 4 #线程数 threads = 2 #启用线程 enable-threads = True #设置日志目录 daemonize = /home/ubuntu/sms02/uwsgi.log #缓存大小 buffer-size = 21573 # 自动移除unix Socket和pid文件当服务停止的时候 vacuum = true # 用户与分组 没有设定无需修改 为root uid=root gid=root #指定静态文件 static-map=/static=/home/ubuntu/sms02/static
- 保存后执行以下代码 启动项目 测试
sudo uwsgi --ini sms02_uwsgi.ini
出现且 仅有 以下 两行 类似代码表示uWSGI 启动成功 , 浏览器输入你的域名进行测试 ( 带上8000端口 )
2.3.1 uWSGI 的停止与重启
若上一步测试出错请先停止uwsgi再进行找错 停止方法如下 :
- 查看uswgi端口 ( 8000 ) 的 LISTEN
sudo netstat -nap | grep 8000
- 如下图 :
- 记下查询到的 LISTEN 数值
- 新建文件 uwsgi.pid
sudo vim uwsgi.pid
- 将刚查看到的uwsgi LISTEN 数字写入文件保存 ( 只写数字即可 ) 并执行以下代码 :
sudo uwsgi --stop uwsgi.pid
- 重启 则执行以下代码 :
sudo uwsgi --reload uwsgi.pid
所有操作运行无误 , 则进行下一步 Nginx配置
快速清空log日志内容
echo ""> uwsgi.log