Python全系列 教程
3567个小节阅读:5929.7k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
使用 uWSGI 启动django:
使用 ini格式配置文件,文件名 uwsgi.ini :
xxxxxxxxxx
vi uwsgi.ini
文件内容:
xxxxxxxxxx
[uwsgi]
# 虚拟主机模式
vhost = false
# ip端口
http = 0.0.0.0:8997
# 是否主服务器:
master = true
# 是否多线程
enable-threads = true
# 工作进程数
workers = 5
# wsgi文件的位置
wsgi-file = /var/projectcode/netshop/netshop/wsgi.py
# 项目的根目录
chdir = /var/projectcode/netshop/
# 设置 pid 记录文件
pidfile = /var/run/uwsgi.pid
# 后台运行uwsgi, 如果想实时查看日志内容,可以使用 tail -f uwsgi.log
daemonize = /var/projectcode/netshop/logs/uwsgi.log
说明:
xxxxxxxxxx
invalid request block size: 21573 (max 4096)...skip
同时需要在防火墙中开放 8997 端口,如果上面已经开放过了,就不需要再额外处理
创建日志文件
xxxxxxxxxx
mkdir logs
启动 uwsgi:
xxxxxxxxxx
/var/python_env/netshop_env/bin/uwsgi --ini /var/projectcode/netshop/uwsgi.ini
也可以先创建链接,再运行:
xxxxxxxxxx
ln /var/python_env/netshop_env/bin/uwsgi /usr/bin/uwsgi
uwsgi --ini /var/projectcode/netshop/uwsgi.ini
备注:
如果需要使用 killall 命令关闭所有的uwsgi进程的话,需要安装库:
xxxxxxxxxx
yum install -y psmisc
安装完毕后,可以使用以下命令关闭 uwsgi 进程
xxxxxxxxxx
killall -9 uwsgi
设置启动脚本,service方式
在/etc/init.d/ 目录下建立3个脚本:
uwsgi-start.sh
xxxxxxxxxx
#!/bin/bash -e
export LD_LIBRARY_PATH="/usr/local/lib"
/var/python_env/netshop_env/bin/uwsgi --ini /var/projectcode/netshop/uwsgi.ini
说明: export LD_LIBRARY_PATH="/usr/local/lib" 这一行是为了防止 出现 sqlite 版本错误
uwsgi-stop.sh
xxxxxxxxxx
#!/bin/bash -e
/var/python_env/netshop_env/bin/uwsgi --stop /var/run/uwsgi.pid
说明:/var/run/uwsgi.pid 是在 uwsgi.ini 中配置的
uwsgi-restart.sh
xxxxxxxxxx
#!/bin/bash -e
/var/python_env/netshop_env/bin/uwsgi --reload /var/run/uwsgi.pid
脚本赋予权限:
xxxxxxxxxx
chmod 755 uwsgi-start.sh
chmod 755 uwsgi-stop.sh
chmod 755 uwsgi-restart.sh
编写service脚本:
xxxxxxxxxx
vi /usr/lib/systemd/system/uwsgi.service
填入以下内容:
xxxxxxxxxx
[Unit]
Description=uwsgi
After=network.target
[Service]
Type=forking
PIDFile=/var/run/uwsgi.pid
ExecStart=/etc/init.d/uwsgi-start.sh
ExecReload=/etc/init.d/uwsgi-restart.sh
ExecStop=/etc/init.d/uwsgi-stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
说明:
以上出现的路径必须是绝对路径
ExecStart、ExecReload、ExecStop 3个分别对应 启动、重新启动、停止
PIDFile 对应启动后的 pid 保存文件
设置自启动
xxxxxxxxxx
systemctl enable uwsgi.service
说明: .service 可以省略
xxxxxxxxxx
# 启动
systemctl start uwsgi
# 停止
systemctl stop uwsgi
# 重启
systemctl restart uwsgi
浏览器访问:
xxxxxxxxxx
http://192.168.44.128:8997/