IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 基于环境变量(.env) Flask + Gunicorn + Systemctl 服务部署与配置(含示例代码) -> 正文阅读

[Python知识库]基于环境变量(.env) Flask + Gunicorn + Systemctl 服务部署与配置(含示例代码)

基于 .env 下的 Flask + gunicorn + systemctl 服务部署配置如下

1、创建 Flask 服务管理脚本. 具体示例如下,

# 打开服务目录
$ cd /etc/systemd/system/

# 后缀名必须 .service
$ vim application-alias.service
# 复制如下代码到 application-alias.service 到改文件保存且退出(:wq)
[Unit]
Description=gunicorn daemon
After=network.target


[Service]
WorkingDirectory=/applicaton-path/
EnvironmentFile=/applicaton-path/.env
ExecStart=/applicaton-path/venv/bin/gunicorn \
--worker-class=gevent \
--workers 7 \
--error-logfile /var/log/application-alias/error.log  \
--bind 127.0.0.1:8000 run:app \
--access-logfile  /var/log/application-alias/access.log \
--worker-connections 1500 \
--backlog 2048 \
--timeout 30 \
--graceful-timeout 30 \
--keep-alive 3
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true


[Install]
WantedBy=multi-user.target

2、启动 application-alias 项目服务

1)、重新加载所有服务配置,如下命令:

# 只要有.service 服务配置更新, 必须执行改命令才会生效
$ systemctl daemon-reload
# 如果执行 systemctl daemon-reload 此命令,直接 sudo systemctl start application-alias.service 会报如下错误
# Warning: The unit file, source configuration file or drop-ins of gunicorn.service changed on disk. Run 'systemctl daemon-reload' to reload units.

2)、启动服务、赞同服务、重启服务、查看服务运行状态

# 服务状态或者查看日志等
$ sudo systemctl status application-alias.service

# 输出内容开始
gunicorn.service - gunicorn daemon
   Loaded: loaded (/etc/systemd/system/application-alias.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-09-26 17:20:51 CST; 12min ago
 Main PID: 21784 (gunicorn)
    Tasks: 8 (limit: 4915)
   CGroup: /system.slice/gunicorn.service
           ├─21784 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21812 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21813 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21814 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21815 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21817 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           ├─21818 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
           └─21819 /applicaton-path/venv/bin/python3 /applicaton-path/venv/bin/gunicorn --worker-class=gevent --workers 7 --error
# 输出内容结束

# 暂停服务
$ sudo systemctl stop application-alias.service

# 启动服务
$ sudo systemctl start application-alias.service

# 重启服务
$ sudo systemctl restart application-alias.service

3、Systemctl 可以管理其他Java、php 等服务,只要时有服务进程管理都可以用改Systemctl 管理

1)启动Java 服务脚本例如下

[Unit]
Description=foundation
After=syslog.target

[Service]
# 当前用户
User=root
ExecStart=/usr/bin/java -jar /application-alias.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

What is Systemctl? An In-Depth Overview

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-28 00:08:51  更:2021-09-28 00:09:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:20:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码