创建Django项目虚拟环境
- 安装python3虚拟环境工具
pip3 install virtualenv
- 新建项目目录并创建虚拟环境
mkdir /home/DjangoProject
cd /home/DjangoProject
virtualenv venv # 创建虚拟环境文件夹venv
- 进入虚拟环境中(退出虚拟环境)
source /home/DjangoProject/venv/bin/activate
# deactivate
uWSGI Web服务器
- 安装库
pip3 install uwsgi
- 创建配置文件
vim fms_uwsgi.ini
详细配置内容如下:
[uwsgi]
; 指定ip端口,用于直接外部访问
; http-socket = 127.0.0.1:8080
; 项目目录
chdir = /home/DjangoProject/FMS
; 用于和nginx进行数据交互的端口
socket = :8383
; Django's wsgi file
wsgi-file = FMS/wsgi.py
; uwsgi启动用户名和用户组
uid = root
gid = root
; 启动主进程
master = true
; 启动多线程
ebable-threads = true
; 最大进程/线程个数
processes = 5
threads = 2
; 进程文件
pidfile = fms_uwsgi.pid
; 当停止服务时自动移除unix socket和pid文件
vacuum = true
; 不记录request日志,只记录错误日志
disable-logging = true
; 日志输出文件
# logto = fms_uwsgi.log
; 后台日志输出文件
daemonize = fms_uwsgi.log
; 监控uwsgi负载情况的端口
stats = 127.0.0.1:9393
; socket超时时间,默认4秒
socket-timeout = 10
- 启动、停止、重启uWSGI服务
uwsgi --ini fms_uwsgi.ini # 启动服务
uwsgi --reload fms_uwsgi.pid # 重启服务
uwsgi --stop fms_uwsgi.pid # 停止服务
- 查看端口运行情况和运行进程
netstat -ntlp | grep 8383 # 查看端口号8383的tcp监听是否开启
ps -aux | grep fms_uwsgi # 查看uWSGI进程号
设置开机自启动uWSGI服务
- 生成开机自启动服务文件
vim /etc/systemd/system/fms_uwsgi.service
# 编辑内容如下
[Unit]
Description=HTTP Interface Server # 启动进程的描述
After=syslog.target # 该服务在什么时候启动,此处表示 系统日志之后
[Service]
KillSignal=SIGQUIT
ExecStart=/home/DjangoProject/venv/bin/uwsgi --ini /home/DjangoProject/fms_uwsgi.ini # 该服务执行的命令
Restart=always
Type=notify
NotifyAccess=all
StandardError=syslog
[Install]
WantedBy=multi-user.target
- 激活该service
systemctl enable fms_uwsgi.service # 激活
systemctl start/stop/status fms_uwsgi.service # 启动/停止/查看服务