从0开始在腾讯云上部署一个 flask 项目

47 篇文章 1 订阅
16 篇文章 0 订阅

1. 前言

今天腾讯云服务器终于批下来了, 喜大普奔啊!!!!因为我们需要使用它来搭建自己的网站, 所以赶紧配置一下
项目发布地址: http://115.159.144.61:8001/
个人网站:http://www.zhyh2010.cn

2. 配置流程

2.1 添加个人账户

参考资料: [linux用户管理(1)—-创建用户(adduser和useradd)和删除用户(userdel)]
主要指令:
ps: adduser 会默认创建用户的主文件夹

adduser zhyh2010 
passwd zhyh2010

(http://blog.csdn.net/beitiandijun/article/details/41678251)
这里写图片描述

2.2 为个人账户添加sudo 权限

参考资料: Centos 添加sudo用户(把普通用户设置为sudoer)

主体流程:

1.login in root user.
2.终端执行 visudo。这个命令是打开 /etc/sudoer文件。
3.在这个文件的末尾添加    username    ALL=(ALL)    ALL    然后 ZZ
4.login in your username.
5.sudo yum update.//for test

这里写图片描述

2.3 添加科大的镜像源

参考资料: Centos镜像使用帮助
这里写图片描述

2.4 添加 python 和 pip

参考资料: CentOS6.5上安装Python2.7和PIP
这里写图片描述

2.5 安装 lnmpa 集成开发环境

参考资料: LNMPA 一键安装
这里写图片描述

2.6 gunicorn安装

参考资料: Installation

pip install gunicorn

这里写图片描述

2.7 flask 安装

参考资料: Installation

pip install flask
pip install virtualenv

2.8 virtualenv 使用

参考资料: Installation

$ mkdir myproject
$ cd myproject
$ virtualenv venv
$ . venv/bin/activate

2.9 从仓库下载 flask 工程文件

  1. git 操作, 当然也可以直接用filezila 将工程传递上去
  2. 注意这里需要同时安装 工程相关的依赖插件 flask-login 之类的
    • 需要特别注意的是, 使用 pip install xxxsudo pip install xxx 的效果是不一样的, 由于我们最终使用sudo运行, 因此, 这里所有依赖的插件都应该使用 sudo pip 进行安装, 否则运行错误
      这里写图片描述
      这里写图片描述

2.10 运行工程项目

1.这里使用gunicorn 启动工程

gunicorn -D -w 3 -b 127.0.0.1:8000 application:app

2.这里说明一下:
- D 表示后台运行
- w 表示有3 个 工作线程(感觉有些类似 nginx 的 master-worker 模型)
- b 指定ip 和端口
- 这里采用本机访问, 主要是为了使用nginx 进行代理, 方便管理
- application 表存放 写着全局变量 app 的那个工程文件夹
- 在我们的这个工程中, 即包含 init.py 的那个文件
- app 为全局变量 (app = Flask(__name__)
- ps: 在下面图示文件夹中运行 gunicorn 指令
这里写图片描述
3.参考资料: Docs » Running Gunicorn
这里写图片描述

2.11 配置nginx 服务器脚本

  1. 安装完的nginx 在 /usr/local/nginx 目录下, 我们可以找到conf文件夹下的 nginx.conf 文件, 将其修改
    这里写图片描述

  2. 添加nginx 需要监听的端口信息

server {
    listen 8001;
    server_name instagram.zhyh2010.com;
    location /{
        proxy_pass http://127.0.0.1:8000;
    }
}

实际上, 我们将外部通过 8001 端口发送过来的请求, 代理给了 127.0.0.1:8000 也就是我们的 flask 项目

这里写图片描述

2.12 防火墙设置

  1. 参考资料:

  2. 防火墙设置信息
    这里写图片描述
    可以看到 我们的8000, 8001 端口都是开放的, 但是 8000 端口上没有程序监听 (我们的程序只监听本机的 8000 端口)
    而 8001 端口是通过 nginx 监听的。

  3. 端口监听信息
    这里写图片描述

2.13 mysql 配置

  1. 我们突然想要扩展程序的功能, 为他添加一个爬虫程序, 这里设想的是, 爬虫程序将爬取到的数据存储到对应的数据库表中, 即可实现自动发图功能, 因而不在使用sqlite 数据库。
    这里写图片描述
  2. 安装 mysqldb

    yum install python-devel mysql-devel
    pip install python-mysql==1.2.3

    出现问题
    参考文章: http://stackoverflow.com/questions/5178292/pip-install-mysql-python-fails-with-environmenterror-mysql-config-not-found

  3. 这里写图片描述
    参考资料: http://www.linuxdiyf.com/viewarticle.php?id=75335
    不过应该采用

 /etc/init.d/mysql restart

3. 效果

项目发布地址: http://115.159.144.61:8001/
显示效果:
这里写图片描述

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
你可以按照以下步骤在腾讯云服务器部署 Flask 应用: 1. 购买腾讯云服务器:登录腾讯云官网,选择适合你需求的服务器实例,并购买。 2. 登录服务器:使用 SSH 客户端(如 PuTTY)连接到你的服务器腾讯云会为你提供登录信息,包括 IP 地址、用户名和密码。 3. 更新服务器:登录成功后,首先更新服务器上的软件包和依赖项,可以运行以下命令: ``` sudo apt update sudo apt upgrade ``` 4. 安装 Python:检查服务器上是否已安装 Python。如果没有,请使用以下命令安装: ``` sudo apt install python3 ``` 5. 创建虚拟环境:在服务器上创建一个虚拟环境来隔离项目的依赖项。可以使用以下命令: ``` python3 -m venv myenv ``` 6. 激活虚拟环境:激活虚拟环境以开始在其中安装和运行应用程序。运行以下命令: ``` source myenv/bin/activate ``` 7. 安装 Flask 和其他依赖项:在虚拟环境中运行以下命令来安装 Flask 和其他需要的依赖项: ``` pip install flask pip install <其他依赖项> ``` 8. 编写 Flask 应用程序:在服务器上创建 Flask 应用程序的主文件,例如 `app.py`,并在其中编写代码。 9. 运行 Flask 应用程序:使用以下命令在服务器上运行 Flask 应用程序: ``` flask run --host=0.0.0.0 ``` 10. 配置防火墙:确保服务器的防火墙允许来自外部的 HTTP 请求访问 Flask 应用程序所使用的端口(默认为 5000)。 11. 测试应用程序:在浏览器中访问服务器的公共 IP 地址,加上 Flask 应用程序的路由路径,检查应用程序是否正常运行。 请注意,这只是一个基本的部署过程示例,实际情况可能会有所不同。你可能还需要配置域名、HTTPS、数据库连接等其他方面的内容,以适应你的具体需求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值