阿里云新手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)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年10月11日 下午2:30
下一篇 2018年10月11日 下午2:30

相关推荐

  • 如何在Apache中创建和安装自签名证书教程-学派吧

    SSL对于用户和Web服务器之间的安全通信很有用。证书在公共线路上传输时对数据进行加密,这样它就不会受到黑客的攻击。自签名证书是免费使用的,但不在生产环境中使用,例如使用信用卡、Paypal信息的机密数据。本篇文章将介绍关于在Linux系统上的Apache服务器中创建和安装自签名证书。 步骤1:安装mod_ssl包 要设置SSL证书,请确保在系统上安装了mo…

    服务器运维 2019年5月7日
    3.0K00
  • Linux如何计算目录中的文件数量教程

    在Linux中如果想要知道一个目录中有多少文件,要怎么办?下面本篇文章就来带大家了解一下Linux中计算目录文件数的方法,希望对大家有所帮助。 在Linux中我们可以使用ls命令+wc命令来计算一个目录中的文件数了。 命令ls用于列出目录内容;wc命令用于计算文件中的数字行和字符,与-l一起使用可以计算行数。 要计算目录中的文件数,需要使用以下语法: #ls…

    2019年3月13日
    4.4K00
  • 如何调试shell脚本教程分享

    如何调试Shell脚本?我们可以在shell脚本中使用“set-xv”命令或在执行脚本时在命令行上使用-xv来调试shell脚本。 通过添加命令来调试Shell脚本: $ cat checkdebug.sh #!/bin/bash set -xv #<< This will enable debugcd /var/log/ for i in “*…

    2019年3月23日
    2.6K00
  • 宝塔apahe重启报错(20014)Internal error (specific information not available): AH00058

    今天给客户维护服务器,清理垃圾中,突然服务器卡死。然后通过后台进行服务器重启,发现网站无法打开 ,检查环境发现环境报错 Apache错误:(20014)Internal error: Error retrieving pid file logs/httpd.pid 在查了一些原因后发现 :1.由于apache目录下的logs子目录下的文件httpd.pid是…

    2021年6月28日
    3.1K00
  • 在whm/cPanel中更改主域的文档根目录教程

    cPanel / WHM是一个基于Web的控制面板,用于管理完整的Linux操作系统。所有cPanel帐户都是使用一个主域创建的。本篇文章将介绍更改cPanel用户主域的文档。 必须具有root shell访问权限才能更改cPanel中的主/主域文档根目录,请使用以下步骤在cPanel帐户中更改主域的文档根目录。 (推荐:Linux视频教程) 优先权:必须具…

    2019年3月23日
    3.6K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----