ubuntu部署 nginx+uwsgi+falsk+python3

关于 uWSGI,WSGI 是一个 Python 协议,定义了应用程序(我们写的软件)如何与 Web 服务器(如 Nginx )通信,WSGI 只是一个接口。而 uWSGI 是一个支持多种语言的服务器容器,使用 WSGI 定义的标准实现与多种 Web 服务器的通信,并将 Web 服务器发来的请求“翻译”成应用程序所能理解形式。

安装(下边所有安装尽量在root权限下执行,其他用户在虚拟环境中存在权限问题)

Python 3:

apt-get update
apt-get install python3-pip

安装依赖:

apt-get install build-essential libssl-dev libffi-dev python-dev

安装python虚拟环境:

pip3 install virtualenv  //安装虚拟环境

运行虚拟环境(虚拟环境中不要使用sudo,sudo会将python包安装到虚拟环境外,进入虚拟环境中,只存在pip):

mkdir -p /opt/deploy/flask //创建工程目录

cd /opt/deploy/flask

virtualenv venv //创建虚拟环境

. venv/bin/activate //运行虚拟环境,出现(venv)代表进入虚拟环境  ps: deactivate (退出)

pip install flask //安装flask

pip install uwsgi //安装uwsgi

创建一个单页面应用:

index.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "test success!"

if __name__ == "__main__":
    app.run(host='0.0.0.0')

run.py

from index import app

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

编写uwsgi配置文件:

run.ini

[uwsgi]
module = run:app
master = true
processes = 3

chdir = /opt/deploy/flask
socket = /opt/deploy/flask/flask.sock
logto = /opt/deploy/flask/log/run.log
chmod-socket = 755
vacuum = true

uid=www-data
gid=www-data

#http-socket=0.0.0.0:5000   //需要直接访问时打开,使用nginx做代理访问时关闭
uwsgi --ini run.ini  //启动uwsgi

安装nginx:

apt-get install nginx

配置nginx:

cd /etc/nginx/sites-available

touch falsk.com

  

server {
	listen 80;

	index index.html index.htm index.nginx-debian.html;

	server_name flask.biihu.com.cn;

	location / {
		include uwsgi_params;
        	uwsgi_pass unix:/opt/deploy/flask/flask.sock;
		try_files $uri $uri/ =404;
	}

}

ps:falsk.sock 可能存在权限问题

打开浏览器,访问 http://flask.biihu.com.cn,出现:

test success!

说明部署完成

 

 

后续会更新uwsgi系统启动,jenkins自动化部署flask项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值