linux上部署flask项目,提高并发性能(uwsgi+flask)

服务器版本:centos7

python版本:python3.6

主要功能:使用uwsgi部署flask接口,支持高并发

大致流程就是,在服务器上新建一个python虚拟环境,并下载好相关python库,使用uwsgi启动flask脚本。

首先得确保你的机器上安装了python3,centos7自带的python版本是2.7.

具体安装步骤:https://blog.csdn.net/t8116189520/article/details/81976755

uwsgi可以说事是目前部署python站点最方便的组件了,并且极大的提高了站点支持高并发访问的性能。

uwsgi是一个接口规范,简单地说,它告诉你应该实现哪些方法来在服务器和应用程序之间传递请求和响应。

用以下的简单flask模板manage.py做一个案例:

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

接下来是部署的完整过程:

1.在linux服务器端搭建python虚拟环境。

# 下载虚拟环境包
pip3 install virtualenv

# 使用命令新建虚拟环境,我的目录是/opt/myproject
# 在当前目录创建一个名为venv的虚拟环境
virtualenv venv
 
# 如果指定python版本
virtualenv -p /usr/bin/python3 venv
 
# 查看当前虚拟环境的python版本
python --version
 
# 激活虚拟环境
source venv/bin/activate

# 在虚拟环境中安装flask、uwsgi库
pip install uwsgi
pip install flask

2.在venv目录下新建一个uwsgi.ini配置文件,并配置(此时已经激活虚拟环境)

# 新建文件
touch uwsgi.ini

# 写入内容
vi uwsgi.ini

配置内容:

[uwsgi]
# manage.py文件所在目录
chdir           = /opt/myproject/venv/flask-test

callable = app

# flask文件名
wsgi-file= manage.py

# 进程数
processes       = 5

# 使用5001端口
http = 0.0.0.0:5001

# 日志输出目录
daemonize = /opt/myproject/venv/flask-test/flask.log

pidfile = project-master.pid

master = true

3.启动项目

将manage.py上传到服务器,放在/opt/myproject/venv/flask-test 目录下

# 启动命令(在venv目录下)
uwsgi uwsgi.ini

# 查看进程是否启动成功
ps -ef | grep uwsgi

4.查看日志输出 (进入/opt/myproject/venv/flask-test/目录下)

命令:tailf flask.log

5.查看进程是否启动 命令:ps -ef|grep uwsgi

备注:

可能出现问题:

pip install uwsgi 之后,运行uwsgi 报错:[uwsgi: command not found]

解决方案:建立软链接 

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

备注2:

#### 启动命令:
uwsgi --ini xxx.ini
#### 重启:
uwsgi --reload xxx.pid
#### 停止:
uwsgi --stop xxx.pid

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
uwsgi和nginx是常用的Python Web应用程序部署工具,可以用于部署Flask项目。下面是部署Flask项目的步骤: 1. 安装uwsgi和nginx 在Linux系统中,可以使用以下命令安装uwsgi和nginx: ``` sudo apt-get install uwsgi nginx ``` 2. 创建Flask应用程序 在Flask应用程序的根目录下,创建一个名为`app.py`的文件,并在其中编写Flask应用程序的代码。 3. 创建uwsgi配置文件 在Flask应用程序的根目录下,创建一个名为`uwsgi.ini`的文件,并在其中编写uwsgi的配置信息。例如: ``` [uwsgi] module = app callable = app master = true processes = 4 socket = /tmp/uwsgi.sock chmod-socket = 660 vacuum = true die-on-term = true ``` 其中,`module`和`callable`分别指定Flask应用程序的模块名和可调用对象名。`socket`指定uwsgi与nginx之间的通信方式,`processes`指定uwsgi启动的进程数。 4. 创建nginx配置文件 在Linux系统中,可以在`/etc/nginx/sites-available/`目录下创建一个名为`flask`的文件,并在其中编写nginx的配置信息。例如: ``` server { listen 80; server_name example.com; location / { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } } ``` 其中,`listen`指定监听的端口号,`server_name`指定服务器的域名。`location`指定请求的URL路径,`uwsgi_pass`指定uwsgi的通信方式。 5. 启动uwsgi和nginx 在Flask应用程序的根目录下,使用以下命令启动uwsgi: ``` uwsgi --ini uwsgi.ini ``` 在Linux系统中,使用以下命令启动nginx: ``` sudo service nginx start ``` 6. 访问Flask应用程序 在浏览器中输入服务器的IP地址或域名,即可访问Flask应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大蛇王

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值