将小项目部署在Heroku

    xiaoxiao2021-03-25  77

        创建并配置好数据库表之后就可以重启程序了此时程序已经部署好在运行了,要通过执行deploy命令才能正常使用0.在阅读《Flask Web开发:基于Python的Web应用开发实战》书写了个小博客,在第十七章时发现作者写的不是很详细,书中信息及网络上的信息也已经不是适用了。

    1.注册Heroku账户

    注册账户需要翻墙,没有翻墙会遇到无法查看不是机器的验证码。建议使用谷歌邮箱,该网站不支持用国内邮箱注册

    2.连接Heroku账号,输入$ heroku login

    3.创建程序

    需要确保程序已经纳入Git源码控制系统,且创建的appname为唯一的

    $ heroku create <appname>

    如果不是git目录的话,安装git执行以下命令,重新已建需删除重建可把原来的仓库手动删除。登入heroku账户后还需上传公钥SSH(login 命令会自动创建并上传 SSH 公钥。但你也可以使用heroku keys:add命令单独上传公钥或者上传额外所需的公钥 )。

    $ git init $ git add . $ git commit -m "v1.0" 4.配置数据库

    书上写需要先创建数据库在将数据库升级为主数据库:

    $ heroku addons:add heroku-postgresql:dev Adding heroku-postgresql:dev on <appname>... done, v3 (free) Attached as HEROKU_POSTGRESQL_BROWN_URL

    $ heroku pg:promote HEROKU_POSTGRESQL_BROWN_URL

    现在因为Heroku升级只需输入其中APP为你创建的appname

    heroku addons:add heroku-postgresql:hobby-dev 

    5.配置日志、电子邮件

    根据书上操作

    $ heroku config:set FLASK_CONFIG=heroku

    $ heroku config:set MAIL_USERNAME=<your-gmail-username>  $ heroku config:set MAIL_PASSWORD=<your-gmail-password> 

    设置完可通过heroku config 查看设置情况

    6.运行生产Web服务器

    根据书上进行安装运行Gunicon操作

    (venv) $ pip install gunicorn

    (venv) $ gunicorn manage:app 7.添加依赖需求文件

    pip freeze >requirements.txt命令来自动生成需求文件,如果部署和书本一样可将直接将下载的17c里requirements.text复制到你所在的文件夹里

    8.根据书上操作添加Procfile文件

    9.根据书上使用Foreman进行操作

    10.执行git push 命令部署

    你要确保所有改动都已经提交到本地Git仓库,然后执行git push heroku master把程序上传到远程仓库heroku 

    $ gi t push heroic master 此时程序已经部署好在运行了,要通过执行deploy命令才能正常使用

    $ heroku run python manage.py deploy

    创建并配置好数据库表之后就可以重启程序了

    $ heroku restart 此时可以通过https://<appname>.herokuapp.com/来访问

    注意事项:

    1.如果配置多个数据库可在heroku官网上删除

    2.在部署中出现问题可在网络上多搜索下,很多都有答案的。或者看看官网的相关资料

    3.还可以通过将项目上传至Github,将Github和Heroku相连进行快速部署

    转载请注明原文地址: https://ju.6miu.com/read-39313.html

    最新回复(0)