腾讯云部署Flask应用

由于新浪云现在不免费了。而且云豆也用完了。所以去腾讯云申请了个学生云主机,一元一个月。

不过部署开发环境还是有点麻烦的,搞了好几天,终于部署成功了!

下面说部署过程:

我云主机用的是 Ubuntu 14.04.1 LTS系统,带LNMP框架,Pyhon2.7(先是尝试用centose6.5,但是一直因为python版本不对和mysql-python安装失败的问题,搞了好久没有成功所以就换成Ubuntu了)

mysql,nginx,这些都是安装好了的。

1.默认安装好的mysql是没有密码的。所以先进安全模式把密码改了:

# 启动安全模式
/etc/init.d/mysql stop
/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1
/usr/bin/mysql -u root mysql

# 进入mysql
mysql> update user set password = Password(‘xxx‘) where User = ‘root‘;
mysql> flush privileges;
# 退出
mysql> exit();

然后创建数据库:

create database blogapp default character set utf8

注:因为是我的博客搬迁,创建好数据库之后还需要用脚本把数据导入(这个数据脚本是在新浪云导出的)

2. 安装Mysql-Python

sudo apt-get install python-setuptools
sudo apt-get install libmysqld-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo easy_install mysql-python
# 顺便把pip也装上
sudo easy_install pip

3. 安装VirtualEnv

因为不同的项目会依赖不同的依赖包,为了方便,把Python的虚拟环境 VirtualEnv也安装上。VirtualEnv 可以为每个Python应用创建独立的开发环境,使他们互不影响

pip install virtualenv
# 创建虚拟环境
virtualenv pyFlask

默认情况下虚拟环境不会依赖系统环境的global site-packages。比如系统环境里安装了MySQLdb模块,在虚拟环境里import MySQLdb会提示ImportError。如果想依赖系统环境的第三方软件包,可以使用参数--system-site-packages。此外,也可使用virtualenvwrapper的toggleglobalsitepackages命令控制当前环境是否使用global site-packages。

 virtualenv --system-site-packages env1

virtualenv的相关命令:

# 进入对应目录:
cd pyFlask
# 启动虚拟环境:
source bin/activate
#退出虚拟环境:
deactivate

4. 上传代码,安装其他依赖库

用ftp把项目代码上传到云主机上,所有云主机上还需要安装ftp服务器

安装教程:http://jingyan.baidu.com/article/67508eb4d6c4fd9ccb1ce470.html

代码上传之后,用pip把需要的依赖库安装上。

# requirement.txt 为依赖关系清单
pip install -r requirements.txt

测试下代码是否能成功运行:

python blogapp.py runserver
# blogapp.py 是项目的入口文件

5. 安装配置uWSGI

pip install uWSGI

添加uwsgi的配置文件(如下):

[uwsgi]
# uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:5000

# 指向网站目录
chdir = /home/uftp/blog/

# python 启动程序文件
wsgi-file = blogapp.py

# python 程序内用以启动的 application 变量名
callable = app

# 进程数
processes = 4

# 线程数
threads = 2

#状态检测地址
stats = 127.0.0.1:9191

使用uwsgi运行应用

uwsgi config.ini

用curl 测试下web项目是否运行成功

curl http://localhost:5000

5.   配置nginx

在Nginx的安装目录找到Nginx的配置文件,默认安装目录一般是/usr/local/nginx/conf/,配置文件是nginx.conf,对其进行编辑,使得Nginx能够加载uwsgi。

server {
    listen  80;
    server_name 127.0.0.1;

    location / {
    include      uwsgi_params;
    uwsgi_pass   127.0.0.1:5000;  # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
    uwsgi_param UWSGI_PYHOME /home/www/blog/pyFlask; # 指向虚拟环境目录
    uwsgi_param UWSGI_CHDIR  /home/www/blog; # 指向网站根目录
    uwsgi_param UWSGI_SCRIPT blog:app; # 指定启动程序
    }
  }

重启nginx:

sudo service nginx restart

# 如何重启异常了 可以直接杀死进程,再启动
killall nginx
sudo service nginx start

可以再次用curl命令测试应用运行情况

现在web应用基本可以成功运行了

参考:

http://www.cnblogs.com/Ray-liang/p/4173923.html?utm_source=tuicool&utm_medium=referral

http://juxuan.fu.blog.163.com/blog/static/112129259201411188132562/

时间: 2024-10-06 16:58:15

腾讯云部署Flask应用的相关文章

Hexo 博客 之 腾讯云部署过程

写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程中遇到的问题和解决方法.俗话说得好,好记性不如烂键盘嘛. 暂时准备写三篇关于 Hexo 博客搭建的博文: 关于 Hexo 博客 腾讯云部署过程 关于 Hexo 博客 NexT 主题的美化插件设置 点击这里 关于 Hexo 博客 添加域名映射和 https 点击这里 本文介绍 本博客是关于 Hexo

腾讯云部署自己项目步骤

最近,自己用Java WEB完成了一个网站,然而,不知道如何部署到云服务器上.百度了很多,也没有完整的,后来自己摸索,完成了部署.本文,将介绍如果将web项目部署到腾讯云服务器上. 在这里呢,很多人就要问了,为什么是腾讯云呢?其实很简单,腾讯云有一个学生认证,腾讯提供0元购买一个cn域名,1元购买云服务器.简直是学生党的福利,虽然服务器是入门级的,但是绝对够用了. 接下来,开始教程! 一.服务器和域名的购买 登陆腾讯云(网址自行百度).如果你是学生,强烈建议你和我一样完成学生认证,土豪请无视这一

腾讯云部署golang flow流程,vue.js+nginx+mysql+node.js

这次总算把js-ojus/flow的ui部署到腾讯云上,比较吐槽的就是,为啥这么复杂,vue.js前后端分离,比golang编写的部署方面复杂几万倍.真是浪费人生啊. golang+sqlite写的东西,直接传到任意文件里,运行即可.--当然,适用于小型的东西. vue.js,要安装node.js环境,要nginx环境,要配置nginx跨域:要安装mysql数据库,要配置用户.体验地址: http://111.230.181.182:8080 有问题多多交流啊:qq504284 微信hotqin

记一次腾讯云部署项目过程

云服务:腾讯云 系 统 :ubuntu1.6 一.安装Jdk 1.首先去官网下载jdk安装包并用xftp或其他工具上传到自己的服务器上去: 2.到jdk安装目录下执行解压命令: sudo tar -zxvf ./jdk-8u171-linux-x64.tar.gz -C /usr/local //将jdk解压到/usr/local目录下 ./代表当前目录 c 指定解压目录 3.配置环境变量: 用 sudo vim /etc/profile 打开系统配置环境变量的文件 ,在文件末尾加入配置如下内容

阿里云部署 Flask + WSGI + Nginx 转载详解

我采用的部署方案是: Web 服务器采用 uwsgi host Flask 用 Supervisor 引用 uwsgi 作常规启动服务 基于 Nginx 作反向代理 首先, 阿里云服务器可以通过 SSH 指令在本机的终端进行远程连接 ssh [email protected]云服务器地址 输入密码进入后所有的操作与本地终端完全一至. 安装 Python 环境 接下来是python , Ubuntu 的默认环境已经预装 python 2.7 所以只需要安装 python 的 pip 安装工具即可.

腾讯云部署Django成功,本地无法访问网页的解决办法

一.服务器运行参数 python manage.py runserver 0.0.0.0:80 python manage.py runserver 0:80 #0是0.0.0.0的缩写 这里两个问题: 1. 使用0.0.0.0 才能在相同网段进行访问,否则只能通过本机(即服务器)进行访问. 2. 80为指定端口号,大小随意,不定. 同时,服务运行正常,服务器对localhost,127.0.0.1均可ping通. 二. 浏览器 浏览器中输入的网址为服务器的公网地址,不论服务器设置的IP是多少.

云-腾讯云:腾讯云

ylbtech-云-腾讯云:腾讯云 腾讯云—腾讯倾力打造的云计算品牌,以卓越科技能力助力各行各业数字化转型,为全球客户提供领先的云计算.大数据.人工智能服务,以及定制化行业解决方案. 1.返回顶部 1. 腾讯云有着深厚的基础架构,并且有着多年对海量互联网服务的经验,不管是社交.游戏还是其他领域,都有多年的成熟产品来提供产品服务.腾讯在云端完成重要部署,为开发者及企业提供云服务.云数据.云运营等整体一站式服务方案. 具体包括云服务器.云存储.云数据库和弹性web引擎等基础云服务:腾讯云分析(MTA

从0开始在腾讯云服务器上搭建python3+flask+uwsgi+nginx服务器

以ssh方式连接腾讯云,以mac为例 一.安装Python3.flask.uwsgi和nginx (一)安装基础包 1.因为缺少gcc,没法make,所以安装gcc yum -y install gcc 2.安装ssl yum install openssl-devel 3.安装zlib yum install zlib yum install zlib-devel 4.安装 python3 Python官网看想要的python地址,这里以3.7.0为例 wget https://www.pyt

小程序应用的Python服务器部署高配,依然是腾讯云秒杀阿里云!

上一篇文章,“小程序创业最低配置部署,腾讯云折扣秒杀阿里云!”介绍了小程序项目启动时的最低配置服务器选择,但当项目良好发展时,还是要把服务器配置调整到标准水平,承受住日益增长的流量访问. 随着Python的流行,直接用Python来部署Web服务器变成一个需求.但Python自带的Flask或传统的DJango都是基于阻塞io模型实现,性能上往往达不到生产环境大规模跑用户的需求.Tornado在底层io处理机制上和django以及flask有着根本的区别,采用了非阻塞io模型,也特别适合小程序用