如何部署Python Web应用:Heroku部署完整过程记录

0.选择Heroku云平台

伴随着云计算的浪潮,国内的云服务可谓多种多样,价格虽然不高,但是真正能够提供永久免费使用的,哪怕有些限制也好,似乎也找不到。

出于学习/研究/实验/测试或是真正应用等各种需求,这时我们不妨使用把应用部署到国外的Heroku云平台上,Heroku的免费版除了其提供的Postgres数据库有限制之外(小于1万条记录的小型数据库不用付费就可以添加到自己的Web应用上),其它都可以免费使用,这绝对是不二的选择。

另外一点来说,Heroku对Python的支持非常良好,所以部署起来会轻松很多,这就省去了许多不必要的麻烦了。

最近要把应用部署到Heroku上,这里把完整的部署过程分享给大家。

说明:我使用的操作系统是Ubuntu 15.10,部署的Python Web应用为基于Flask的应用,下面的部署过程都是在该操作环境下进行部署,建议大家也在Linux环境下进行部署,会方便很多。(当然你有Mac Book就更好了,只是博主没钱,用不起啦)

1.准备Git环境

要想使用Heroku,你的Web应用必须要托管在Git仓库中,如果你之前一直是使用Git的方式来作开发的,那问题就很容易解决了,相信你很明白其中的道理。如果不是的话,请按照下面我的方法来生成一个Git仓库,非常简单。

很多人觉得使用Git很麻烦,于是就放弃了Heroku平台的使用,这不能不说是一种极大的浪费:

1.首先浪费的是Heroku这么好的一个平台资源;

2.然后就是放弃了Git这么优秀的版本控制系统的使用

3.再者说就是放弃了Linux环境的使用。

其实这些对于开发来说都是非常有帮助的!所以不要觉得麻烦,只要你以后不是完全做Windows平台的开发,这些你都应该要懂,只要慢慢习惯了,后面一切就都很自然了。

第一步:安装Git

以Ubuntu为例,可以直接使用下面的命令安装:

1

 

sudo apt-get install git

 

当然如果你正在使用的是其它版本的Linux发行版本,相信安装方法也不难。

第二步:把你的完整Web应用放到一个新的目录中

比如这里我已经有一个开发完整的Web应用,它主要有下面的这些文件和应用:

1

2

3

4

5

6

7

8

9

10

11

 

drwxrwxr-x  6 xpleaf xpleaf 4096  1月 29 16:04 .

drwxr-xr-x 38 xpleaf xpleaf 4096  1月 29 16:01 ..

drwxrwxr-x  7 xpleaf xpleaf 4096  1月 29 03:31 app

-rw-rw-r--  1 xpleaf xpleaf 3295  1月 29 03:31 config.py

-rw-rw-r--  1 xpleaf xpleaf 1083  1月 29 03:31 LICENSE

-rwxrwxr-x  1 xpleaf xpleaf 2391  1月 29 03:31 manage.py

drwxrwxr-x  3 xpleaf xpleaf 4096  1月 29 03:31 migrations

-rw-rw-r--  1 xpleaf xpleaf   25  1月 29 03:13 Procfile

-rw-rw-r--  1 xpleaf xpleaf  376  1月 29 03:31 README.md

-rw-rw-r--  1 xpleaf xpleaf   76  1月 29 03:13 requirements.txt

drwxrwxr-x  2 xpleaf xpleaf 4096  1月 29 03:31 tests

 

然后创建一个名为Heroku_pro的文件夹,并把上面完整的Web应用程序放进去,如下:

1

2

3

4

 

xpleaf@leaf:~/Heroku_pro$ pwd

/home/xpleaf/Heroku_pro

xpleaf@leaf:~/Heroku_pro$ ls

app  config.py  LICENSE  manage.py  migrations  README.md  requirements.txt  tests Procfile

 

这一步完成!

第三步:在Heroku_pro目录下生成一个Git仓库

1

2

 

xpleaf@leaf:~/Heroku_pro$ git init

初始化空的 Git 版本库于 /home/xpleaf/Heroku_pro/.git/

 

这时你会发现在当前目录下多了一个.git的目录:

1

2

3

 

xpleaf@leaf:~/Heroku_pro$ ls -a

.   app        .git     manage.py   README.md     tests

..  config.py  LICENSE  migrations  requirements

 

这一步完成。

第四步:把当前目录下的所有文件都托管到本地Git仓库

1

2

3

4

5

6

7

8

9

10

 

xpleaf@leaf:~/Heroku_pro$ git add .

xpleaf@leaf:~/Heroku_pro$ git commit -m "ver1.0"

[master (根提交) a7cea3f] ver1.0

 78 files changed, 3350 insertions(+)

 create mode 100644 LICENSE

 create mode 100644 README.md

 create mode 100644 app/__init__.py

 create mode 100644 app/api_1_0/__init__.py

 create mode 100644 app/api_1_0/authentication.py

 ......

 

Ok,这一步完成。

关于Git的使用显然不是这里要讨论的重点,这里只是为没有用过Git的朋友提供一种临时的解决方案。

2.注册Heroku账户

跟目前国内的大多数云平台一样,首先你也需要注册一个账号,可以在下面的链接进行注册:

https://www.heroku.com/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/95588e51431522ed7cfb81aa06c3cd4a.html