阿里云新手Flask + nginx + uwsgi + ubuntu的完整项目部署教程方法

  • Flask项目部署
    • web工作原理
    • nginx安装
    • 添加虚拟主机
    • uWSGI
    • 静态文件处理

Flask项目部署

web工作原理

客户端 < = > 服务器(nginx) < = > uWSGI < = > Python(Flask) < = > 数据库

nginx安装

源码安装、apt-get install …

sudo /usr/local/nginx/sbin/nginx -s reload

添加虚拟主机

1.在nginx的主配置文件最后一个大括号的上面添加:

include vhost/*.conf;

2.在conf/下新建文件夹,用于保存所有的虚拟主机配置文件

mkdir vhost

3.vhost目录下新建一个虚拟主机的配置文件(sudo vim idandan.vip.conf)

server{
    listen 80;
  server_name idandan.vip;
  location / {
      root html/blog;
      index index.html;
  }
}

# sudo vim idandan.vip.conf

4.在html目录下创建blog文件夹,在blog下新建index.html

Hello World

5.重启nginx(sudo /usr/local/nginx/sbin/nginx -s reload)

6.添加本地的域名解析,修改文件:(C:\Windows\System32\drivers\etc\hosts)

最后一行添加:139.196.81.238 idandan.vip

7.测试,在浏览器地址栏输入:idandan.vip

uWSGI

1.安装:pip3 install uwsgi

2.配置:

http:    # 采用http协议
socket:      # 采用socket协议
wsgi-file    # 将数据交给哪个模块
callable # 具体可调用的对象
chdir        # 指定uwsgi启动后的当前目录
daemonize    # 后台运行,需要指定一个日志文件


# blog.py文件

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
 return 'Hi'

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

3.简单实例

1.在blog目录下创建blog.py文件,里面写上flask启动代码用于测试
2.启动:
    sudo uwsgi --http host:port --wsgi-file blog.py --callable app

4.socket方式启动

1)nginx转发请求:

python 
server{ 
listen 80; 
server_name idandan.vip; 
location / { 
# root html/blog; 
# index index.html; 
include uwsgi_params; 
uwsgi_pass 127.0.0.1:5000; 
} 
} 

2)以socket方式启动

sudo uwsgi --socket 127.0.0.1:5000 --wsgi-file blog.py --callable app

3)将启动参数配置写进配置文件

[uwsgi]
socket  = 127.0.0.1:5000
wsgi-file = blog.py
callable = app

(blog/vim uwsgi.ini)
启动:sudo uwsgi wsgi.ini

静态文件处理

1.准备静态资源

python
1.在项目根目录下(blog)创建static目录
2.将图片拷贝到static下

2.配置nginx转发

# 添加一个location

location /static{
 # root html/blog;

# 或

alias html/blog/static;  # 两种方式都可以
}

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/934.html

(0)
打赏 微信扫一扫 微信扫一扫
Ansible自动部署nginx+keepalived高可用负载均衡教程及方法
上一篇 2018年10月11日 下午2:30
nginx 反向代理Signalr Websocket,错误500解决方案教程
下一篇 2018年10月11日 下午2:30

相关推荐

  • 腾讯云服务器(ECS)centos7服务器主网卡绑定多ip

    前言 今天给大家带来一篇关于腾讯与centos系统 如何配置多IP。 1)点击实例名 2)分配内网ip 3)绑定弹性公网ip 4)修改网卡配置文件 ### 备份 [root@VM_1_62_centos ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak} ### 修改网卡配置 [root@VM_1_…

    2019年7月26日
    4.1K00
  • 如何确认已经卸载数据盘并可以新建自定义镜像-linux教程-学派吧

    本篇文章给大家带来的内容是关于如何确认已经卸载数据盘并可以新建自定义镜像,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自定义镜像 FAQ 如何查看数据盘? 您可以通过 df 命令查看数据盘的使用情况,以及文件系统被挂载的位置。例如:df –lh 您可以通过 fdisk 命令获取数据盘的分区情况。例如:fdisk -l 如何卸载和删除 di…

    服务器运维 2018年11月24日
    2.4K00
  • 如何解决win2008下IIS7的HTTP500错误的教程-学派吧

    现在各种http错误漫天飞、小编开始大量搜集各种错误、来进行整理发布http 500内部服务器错误说明IIS服务器无法解析ASP代码,如果你联网还发现找不到服务器就是500错误了. 在iis7里面的iis设置要开启启用父路径这个选项,之后就可以了,当然为了调试程序可以打开“ASP设置选项-调试属 http 500内部服务器错误说明IIS服务器无法解析ASP代…

    2018年10月25日
    2.9K00
  • 腾讯云跨账号内网互通创建对等连接通信

    VPC 跨地域通信以及跨账号通信都是对等连接的高级功能,本文将通过示例,为您介绍如何实现跨账号通信。 示例说明 网段1:广州的 VPC1 中子网 A 192.168.1.0/24。 网段2:北京的 VPC2 中子网 B 10.0.1.0/24。 通过跨账号创建对等连接,实现网段1和网段2互通,需要三个步骤,具体操作请参见下文。 步骤 1:创建对等连接 登录 …

    2022年3月4日
    3.9K00
  • 负载均衡之Nginx详解教程-学派吧

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 目录 简介 常用命令 功能 HTTP集群 TCP集群 代理 反向代理 集群 重定向 静态文件 HTTPS配置 常见问题 简介 Nginx (“engine x”) 是一款轻量级,高性能的HTTP和反向代理服务器,也是…

    服务器运维 2019年1月15日
    2.7K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部