ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用uwsgi启动python项目配置(完善)

2021-12-29 16:01:34  阅读:230  来源: 互联网

标签:启动 python pid project ini home your uwsgi


配置

创建uwsgi.ini配置文件,配置内容如下:

[uwsgi]
# Django-related settings
# python manage.py runserver
http = 172.17.0.2:42014
;nginx时使用
;socket = 192.168.88.61:8000
# 项目路径
chdir = /home/your_project
home=/home/your_project/your_module
wsgi-file = /home/your_project/your_module/wsgi.py
# 主进程
master = true
# 指定工作进程
processes = 4
# 每个工作进程2个线程
threads = 1
# 允许在请求中开启新线程
enable-threads=true
# 指后台启动  日志输出的地方
logto = /home/your_project/logs/uwsgi.log
log-maxsize = 102400
# 保存主进程进程号
pidfile = /home/your_project/logs/pid_uwsgi.pid
# 虚拟环境路径
virtualenv = /home/venv
static-map = /static=/home/your_project/static
#不记录request日志,只记录错误日志
disable-logging = true

# 设置工作进程使用虚拟内存超过N MB就回收重启
reload-on-as = 1024
# 设置工作进程使用物理内存超过N MB就回收重启
reload-on-rss = 1024
;evil-reload-on-as = 512
;evil-reload-on-rss = 512
# 设置工作进程每处理N个进程就会被回收重启
max-requests = 1000
# worker进程工作时长
max-worker-lifetime = 3600
# 设置平滑的重启(直到处理完接收到的请求)的长等待时间(秒)
worker-reload-mercy = 60
# 配置django的环境配置文件
env = DJANGO_SETTINGS_MODULE=your_module.settings_dev

启动

uwsgi --ini uwsgi.ini &

查看进程

ps -ef | grep uwsgi

部署脚本

vim deploy.sh
#!/bin/bash

cd /home/your_project/
uwsgi_pid_exist=`ps ax|grep uwsgi.ini |grep -v "grep uwsgi.ini"|xargs -l | awk '{print $1}' | awk 'NR==1{print}'`
uwsgi_pid=`head -1 /home/your_project/logs/pid_uwsgi.pid`

sleep 1
echo "git update code..."
git pull origin master
echo "git update done..."
sleep 3

if test -n "$uwsgi_pid"
then
    echo "process $uwsgi_pid restart now..."
    if test -n "$uwsgi_pid_exist"
    then
        uwsgi --reload /home/your_project/logs/pid_uwsgi.pid &
    else
        uwsgi --ini uwsgi.ini &
    fi
else
    echo "start fisrt time"
    uwsgi --ini uwsgi.ini &
fi

其中pid文件为uwsgi.ini中指定的配置文件位置

pidfile = /home/your_project/logs/pid_uwsgi.pid

标签:启动,python,pid,project,ini,home,your,uwsgi
来源: https://blog.csdn.net/ASAS1314/article/details/122217365

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有