ubuntu+nginx+uwsgi+flask的安装和配置

假设ubuntu工作目录为Teamwork。

假设python3.5为当前python版本。

安装虚拟环境:pip install virtualenv

安装uwsgi:pip install uwsgi

启动虚拟环境,同时生成文件夹,并安装flask

virtualenv ENV_Flask  # 在Teamwork目录下执行,生成目录ENV_Flask

source ENV_Flask/bin/activate  # 激活虚拟环境

pip install flask  # 在虚拟环境下安装flask

在Teamwork/ENV_Flask目录下,vim flask_main.py如下:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

在已激活的虚拟环境下,在Teamwork/ENV_Flask目录下执行:python flask_main.py测试http://127.0.0.1:5000正常

 

退出flask服务器后,开始进行nginx+uwsgi+flask配置

安装nginx

sudo apt-get install nginx

在Teamwork/ENV_Flask目录下,vim flask_nginx.conf 

server {
  listen 80;
  server_name 192.168.1.103;
  charset utf-8;
  location / {
    proxy_pass http://127.0.0.1:5000;
    include uwsgi_params;
  }
}

 删除nginx默认配置文件:sudo rm /etc/nginx/sites-enabled/default

为新配置建立软连接

sudo ln -s /home/ubuntu/Teamwork/ENV_Flask/flask_nginx.conf /etc/nginx/conf.d/

在Teamwork/ENV_Flask目录下,vim flask_uwsgi.ini

[uwsgi]
http=127.0.0.1:5000
wsgi-file=/home/ubuntu/Teamwork/ENV_Flask/flask_main.py
callable=app
touch-reload=/home/ubuntu/Teamwork/ENV_Flask/

touch-reload:动态监控文件变化,然后重载服务,是跟uWSGI的emperor有关的配置项,当这个路径下面的文件发生变化,服务就会重新加载,这在部署上线之后对项目内容进行修改的时候十分有用——即:修改flask文件,不用重启任何服务,刷新浏览器即可看到修改内容

启动服务(需要启动虚拟环境)

source ENV_Flask/bin/activate  # 退出虚拟环境:deactivate

在Teamwork/ENV_Flask目录下,后台运行uwsgi

1、nohup uwsgi --ini flask_uwsgi.ini &

启动(/或重启)nginx

2、sudo service nginx restart

至此,如无意外,访问:http://192.168.1.103,即可出现hello world,80端口访问5000端口的flask应用。

3、剩下的工作就是修改Teamwork/ENV_Flask下的py文件了。

文件目录形如:

ubuntu@VM-0-8-ubuntu:~/Teamwork/ENV_Flask$ ll
total 64
drwxrwxr-x 6 ubuntu ubuntu  4096 Jan 29 16:24 ./
drwxrwxr-x 3 ubuntu ubuntu  4096 Jan 29 14:32 ../
drwxrwxr-x 2 ubuntu ubuntu  4096 Jan 29 14:33 bin/
-rw-rw-r-- 1 ubuntu ubuntu   147 Jan 29 16:24 flask_main.py
-rw-rw-r-- 1 ubuntu ubuntu   152 Jan 29 15:40 flask_nginx.conf
-rw-rw-r-- 1 ubuntu ubuntu   143 Jan 29 15:41 flask_uwsgi.ini
drwxrwxr-x 2 ubuntu ubuntu  4096 Jan 29 14:32 include/
drwxrwxr-x 3 ubuntu ubuntu  4096 Jan 29 14:32 lib/
drwxrwxr-x 2 ubuntu ubuntu  4096 Jan 29 15:15 log/
-rw------- 1 ubuntu ubuntu 21347 Jan 29 16:24 nohup.out

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值