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

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

下面说部署过程:

我云主机用的是 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/

本文链接: http://www.bugcoding.com/entry/14

转载于:https://www.cnblogs.com/NGNL/p/5801007.html

腾讯云部署Flask应用相关推荐

  1. 腾讯云部署flask,在云控制台打开端口后,还需在服务器内查看防火墙端口状态

    #环境 centos+flask+腾讯云 问题:腾讯云后台配置了自定义打开端口8090,但是在页面上输入ip地址+端口号无法访问. 解决:需要在centos环境中再次确认防火墙是否打开8090端口

  2. 腾讯云部署hexo博客系统

    腾讯云部署hexo博客系统 1. 云服务器端配置 git 1. 安装依赖库和编译工具 安装依赖库: yum install curl-devel expat-devel gettext-devel o ...

  3. 腾讯云部署K8s集群

    腾讯云部署K8s集群 文章目录 腾讯云部署K8s集群 0. 导读(重要!!!一定要读) 1. 环境准备 版本 服务器配置 2. 安装步骤 所有主机操作 1. 提前准备 2. 安装docker 3. 安 ...

  4. day16-硅谷课堂-腾讯云部署

    硅谷课堂第十六天-腾讯云部署 文章目录 硅谷课堂第十六天-腾讯云部署 一.项目部署方案 1.原始部署方式 2.整合Jenkins 3.整合CODING 二.腾讯云CODING DevOps概述 1.产 ...

  5. 硅谷课堂 16_腾讯云部署

    硅谷课堂第十六天-腾讯云部署 文章目录 硅谷课堂第十六天-腾讯云部署 一.项目部署方案 1.原始部署方式 2.整合Jenkins 3.整合CODING 二.腾讯云CODING DevOps概述 1.产 ...

  6. 腾讯云部署https请求

    因为苹果公司要求所有的API接口都必须要https的,所以没办法只能升级一下.现在阿里和腾讯的证书都还不错.这里记录一下腾讯云部署HTTPS的整个过程期间遇到了很多问题.在这里非常感谢 54power ...

  7. Mendix基于腾讯云部署最佳实践

    本实践由腾讯云与西门子数字化工业软件授权发布,未经允许不得转载. 1.  概述 本文档介绍了西门子企业级应用开发平台Mendix应用快速托管到腾讯云容器服务(简称TKE)的最佳实践.该方案仅用于非生产 ...

  8. 腾讯云部署DevOps

    因为这个项目比较大,我就用之前的单体小项目做演示了~ 三种项目部署方案 1.原始部署方式 2.整合Jenkins 完整DevOps示例如下: 相当于写一个脚本,自动化来帮你做这些 3.整合CODING ...

  9. 企业微信每日给女友推送早安,5分钟快速部署,腾讯云部署版本,每日定时发送,天气,鸡汤,纪念日等信息,可自定义通知提醒名称,聊天界面可置顶,内容可查图片。

    企业微信每日给女朋友推送早安,5分钟快速部署,每日定时发送,天气,鸡汤,纪念日等信息,可自定义通知提醒名称,聊天界面可置顶,内容可查图片. 先看效果 直接开搞 准备工作 1.企业id 2.企业应用se ...

最新文章

  1. TensorFlow please use urllib or similar directly错误。
  2. 特来电监控引擎流计算应用实践
  3. centos平台cms系统
  4. 想理解Java的IO,不要从操作系统开始说起的都是耍流氓...
  5. STM32位带操作实现过程解析
  6. oracle生成excle报表,oracle自动生成excel报表(时间为变量,条件含变量)
  7. 如何在K8S上玩转TensorFlow ?
  8. [论文阅读] Learning without Memorizing
  9. ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
  10. 开源|Davinci用户体验:你离数据可视精美大屏只差一个Davinci!
  11. Wireshark 常用过滤
  12. 巨星陨落!图灵奖得主Edmund Clarke感染新冠逝世,教计算机自己检查错误的人走了...
  13. 安卓扫描周围基站信息,获取邻小区频段频点
  14. Html + Java登录验证码实现代码
  15. 如何加水印在图片上面?
  16. 那些散落在人间的天使
  17. Dline,一款让你爱不释手的去中心化社交应用
  18. 一个好的导演拍不了一场好戏--校园路-访谈戴谢宁总结(2005.5)
  19. mplayer全参数
  20. c语言还是python-自学编程应该从c语言还是python入手?

热门文章

  1. Ubuntu iwlwifi网卡驱动
  2. 深度学习之选择GPU或CPU方法
  3. Linux常用的远程工具
  4. STMF103定时器
  5. 使用ffmpeg、nvdia解码rtsp视频流,cuda做NV12-RGBA转换
  6. 为什么android手机内存不够,安卓手机内存不足怎么办?安卓手机内存越来越小解决方法汇总...
  7. 从实战经验来看 究竟如何才能做出赚钱的量化投资策略?
  8. VBScript的中ByRef和ByVal的不同
  9. 基于.Net Core Web MVC的图书查询系统——第四章,添加模型并使用EF Core生成基架自动生成控制器和视图
  10. WEB自动化-(RFS)RobotFramework+Selenium框架介绍测试流程详解