当前位置:   article > 正文

Gunicorn的安装与启动_gunicorn安装

gunicorn安装

Gunicorn的安装与启动

Gunicorn是什么?

Gunicorn (独角兽)是一个高效的Python WSGI Server。

通常用它来运行 wsgi application(由我们自己编写遵循WSGI application的编写规范) 或者 wsgi framework(如Django,Flask)。
WSGI是一个Python程序和用户请求之间的接口。

WSGI服务器的作用就是接受并分析用户的请求,调用相应的python对象完成对请求的处理,然后返回相应的结果。
简单来说gunicorn封装了HTTP的底层实现,我们通过gunicorn启动服务,用户请求与服务相应都经过gunicorn传输。

安装Gunicorn
创建虚拟环境
cd /home/www/
# 拷贝项目到该文件夹,并解压
# 进入到项目根目录
cd /home/www/book
mkdir venv
python3 -m venv venv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
解压zip文件
yum install -y unzip zip # 安装zip和unzip包
unzip book.zip # 解压文件
  • 1
  • 2
激活虚拟环境
source venv/bin/activate
  • 1
安装依赖

由于开发阶段又添加了很多第三方库,所以上线之前需要在本地重新导出一次虚拟环境中的第三方库

# 在pycharm中,进入到虚拟环境
pip freeze > requirements.txt
# 重新上传,覆盖服务器中原有的requirements.txt文件
  • 1
  • 2
  • 3
pip3 install -r requirements.txt
  • 1
错误1
Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-b5grrrir/cryptography/setup.py", line 17, in <module>
        from setuptools_rust import RustExtension
    ModuleNotFoundError: No module named 'setuptools_rust'
  • 1
  • 2
  • 3
  • 4
  • 5

解决

pip3 install -U pip setuptools
  • 1
安装gunicorn第三方库
pip3 install gunicorn
  • 1
启动服务
gunicorn -w 8 -b 0.0.0.0:8000 app:app
# -w 开启的子进程个数
  • 1
  • 2
# 启动日志如下
(venv) [root@iZbp15uy42u5znkvkxiyxdZ book]# gunicorn -w 8 -b 0.0.0.0:8000 app:app
[2022-09-24 17:46:18 +0800] [17700] [INFO] Starting gunicorn 20.1.0
[2022-09-24 17:46:18 +0800] [17700] [INFO] Listening at: http://0.0.0.0:8000 (17700) # 17700 主进程pid
[2022-09-24 17:46:18 +0800] [17700] [INFO] Using worker: sync
[2022-09-24 17:46:18 +0800] [17703] [INFO] Booting worker with pid: 17703 # 17703 子进程pid
[2022-09-24 17:46:18 +0800] [17704] [INFO] Booting worker with pid: 17704
[2022-09-24 17:46:18 +0800] [17705] [INFO] Booting worker with pid: 17705
[2022-09-24 17:46:18 +0800] [17706] [INFO] Booting worker with pid: 17706
[2022-09-24 17:46:18 +0800] [17707] [INFO] Booting worker with pid: 17707
[2022-09-24 17:46:18 +0800] [17709] [INFO] Booting worker with pid: 17709
[2022-09-24 17:46:18 +0800] [17710] [INFO] Booting worker with pid: 17710
[2022-09-24 17:46:18 +0800] [17712] [INFO] Booting worker with pid: 17712
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/73060?site
推荐阅读
相关标签
  

闽ICP备14008679号