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

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

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

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

这里我们需要注意一句话:Setting DATABASE_URL and restarting my-heroku-app-cn... done, v3

也就是说,Heroku自动为我们刚刚创建的my-heroku-app-cn程序创建了一个名为DATABASE_URL的环境变量,变量的值就是在Heroku平台中该数据库的路径地址,这也意味着,如果你想让你的Web应用部署成功后可以正常连接上该数据库,就必须在你的源代码中设置数据库的地址为:DATABASE_URL,仅此而已,其它的Heroku会为我们完成,不用担心。

7.配置必要的环境变量

这不是必要的,这取决于你的Web应用的源代码中是否有获取系统环境变量的需要,如果有的话,你可以通过下面的方式进行环境变量的设置。

比如我在我的源代码的配置文件中有下面的两行代码:

1

2

 

MAIL_USERNAME = os.environ.get('MAIL_USERNAME')

MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')

 

显然电子邮件的用户名和密码这些敏感的信息不应该出现在源代码中,所以我是通过获取环境变量的值来知道用户名和密码的,因此我需要在Heroku上设置相对应的环境变量,命令如下:

1

2

3

4

5

6

 

xpleaf@leaf:~/Heroku_pro$ heroku config:set MAIL_USERNAME="xpleaf"

Setting config vars and restarting my-heroku-app-cn... done

MAIL_USERNAME: xpleaf

xpleaf@leaf:~/Heroku_pro$ heroku config:set MAIL_PASSWORD="***"

Setting config vars and restarting my-heroku-app-cn... done

MAIL_PASSWORD: ***

 

当然如果你需要设置其它的环境变量,通过这个方式设置就可以了。

8.使用生产Web服务器

我们知道,在使用DjangoFlask作开发的时候,它们都自带了开发Web服务器来连接我们的Web应用程序,这对于在开发的过程中来说是再适合不过的了。然而现在我们要做的是在生产环境中部署我们的Web应用程序,因此你不可能说还使用原来这些Web框架自带的开发服务器,因为性能实在是不可保证,因为它们都是为开发环境设计的Web服务器,而不是为生产环境设计的。所以,我们要使用生产环境的Web服务器。(PS:请注意Web应用程序Web服务器的区别)

我要部署的Web应用程序是基于Flask的,所以当然要使用一个支持Flask的Web服务器软件,这里我使用的是Gunicorn。当然,这取决于你使用的是什么Web框架,关于这点,可自行去了解。

选择了要使用Gunicorn来作为我的生产环境,我待会只需要把它添加到依赖需求文��中去就可以了。

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

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