1. VM安装Ubuntu server 14.04,系统安装完成后,首先安装pip工具方便之后的包安装,此处需先使用 apt-get install update,apt-get install upgrade
apt-get install update(同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包)
apt-get install upgrade (升级已安装的所有软件包,升级之后的版本就是本地索引里的,因此,在执行 upgrade 之前一定要执行 update, 这样才能是最新的)
2. apt-get install pip 安装pip工具
3. pip install virtualenv 安装python虚拟环境工具,由于不同的项目可能会有不同的依赖包或版本,使用虚拟环境可以完美的解决这些冲突,
使用virtualenv的包括:
  • 在没有权限的情况下安装新套件
  • 不同的应用可以使用不同的包/版本
  • 不同应用依赖包的升级互不影响
4. 安装git并拉取flask项目
5. 进入项目目录,安装python虚拟环境,virtualenv env-name
6. 启动虚拟环境 source env-name/bin/activate,
7. 安装uwsgi(pip isntall uwsgi)
8. 安装flask项目的依赖库,pip install -r requirement.txt
9. 根据flask项目下主文件(含有APP),进行uwsgi相关配置config.ini,配置后使用 uwsgi config.ini验证配置是否正确
master = true
#虚拟环境目录
home = venv
#flask下主文件
wsgi-file =manage.py
callable = app
#使用http或socket配置端口
socket = :3031
#处理器数
processes = 1
#线程数
threads = 1
buffer-size = 32768
plugin = python

  

10. 安装Nginx apt-get install nginx,修改(/etc/nginx/sites-enabled/)目录下的default文件
server {
listen ;
server_name default; #公网地址
charset utf-; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:; #指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
uwsgi_param UWSGI_PYHOME /home/user/flask_task/venv; # 指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /home/user/flask_task; # 指向网站根目录
uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序
uwsgi_read_timeout ;
}
}
11 . 重启Nginx sudo service nginx restart
12. 外部机器直接访问虚拟机IP,即可打开项目

通过VM虚拟机安装Ubuntu server部署flask项目的更多相关文章

  1. vmware 10虚拟机安装ubuntu server 14.04

    -開始安装ubuntu server- 1.首先是安装系统时的语言,推荐选择English 然后安装系统 这里选择语言非常重要,我開始选择了中文,安装完毕后会乱码,所以推荐选择英文 由于在中国.所以选 ...

  2. Oracle VM VirtualBox虚拟机安装Ubuntu Server

    安装过程如下:原文转自:http://www.linuxidc.com/Linux/2012-04/59368p8.htm

  3. VM虚拟机安装Windows Server 2008操作系统

    镜像链接:https://pan.baidu.com/s/1_Hv6U3xulqkkKzCYXmNvNQ 提取码:uwph Windows 2008 版本 有标准版.有企业版 群集 双击热备 clus ...

  4. 在Ubuntu下部署Flask项目

    FlaskDemo 命名为test.py # coding=utf-8 from flask import Flask app = Flask(__name__) @app.route("/ ...

  5. win10 下使用虚拟机安装ubuntu及其网络配置

    通过虚拟机安装ubuntu 我的机器是64位的win10系统,使用的虚拟机VMware workstation 12 pro 安装的是ubuntu 14.04, 网上教程很多,很详细也有有效 win1 ...

  6. 为部署ASP.NET Core准备:使用Hyper-V安装Ubuntu Server 16.10

    概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win10系统内,我们只需要进行简单的安装即可.但是前提是要确保你的机器已经启用虚拟化,可以 ...

  7. 虚拟机Vmware成功安装Ubuntu Server 16.04中文版

    最近想在Linux下学习Python的爬虫开发技术,经过认真考虑优先选择在在Ubuntu环境下进行学习Python的开发,虽然Ubuntu Server 16.04 LTS版本已经集成了Python ...

  8. 在虚拟机中安装Ubuntu Server 15.04

    学Linux,上红联! 红联Linux门户|Linux通用技术|Linux发行版技术|Linux企业应用|Linux实验室|红联Linux论坛 Linux系统教程 Linux入门 Linux管理 Li ...

  9. NET Core准备:使用Hyper-V安装Ubuntu Server 16.10

    NET Core准备:使用Hyper-V安装Ubuntu Server 16.10 概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win1 ...

随机推荐

  1. (转)java中的 | ^ & 分别是什么?

    |是按位或 ^是按位抑或 &是按位与 比如有两个数 int x = 5; int y = 11; System.out.println(x|y); System.out.println(x&a ...

  2. selenium2之文件上传

    我们在使用selenium做web自动化测试的时候也许会碰到需要上传文件或者图片的需求.那么下面给大家介绍一下,selenium是怎么实现文件上传和哪些情况不能直接上传. 一.上传控件标签为input ...

  3. javascript编码规范总结

    1.嵌入规则 Javascript程序应该尽量放在.js的文件中,需要调用的时候在页面中以<script src="filename.js">的形式包含进来.Javas ...

  4. javascript中typeof和instanceof用法的总结

    今天在看相应的javascript书籍时,遇到了typeof和instanceof的问题,一直不太懂,特地查资料总结如下: JavaScript 中 typeof 和 instanceof 常用来判断 ...

  5. python-冒泡排序,升序、降序

    冒泡排序 这个算法的名字由来是因为越大的元素会经交换慢慢浮'到数列的顶端. 冒泡排序的基本思想:重复走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,直到没有再需要交换,完成排序 ...

  6. 45. leetcode 504. Base 7

    504. Base 7 Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: ...

  7. HDOJ 6069 素数筛法(数学)

    Counting Divisors Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Oth ...

  8. 读取txt文件加DevExpress之进度条progressBarControl

    进度条使用 主要掌握下边几个命令, //水平进度条 progressBarControlH.Properties.Minimum = 0;//1:设置最大数量,比如读取txt文件内容,先要查出行数,然 ...

  9. vue指令v-html示例解析

    更新元素的innerHTML,不会作为vue模板编译,可用组件来代替. 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 xss攻击.只在可信内容上使用 v-html,永不用在用户提交的内容 ...

  10. properties文件作用以及在哪些地方用

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...