如何在heroku上免費託管python網站

需要免費主持一個小網站嗎?希羅庫也許正是你要找的。...

因此,您剛剛用Python完成了一個簡單的公文包網站,並且希望使用免費託管來建立它。你聽說過Heroku的免費託管,但你不太瞭解其中的技術細節。

How to Host Your Python Website for Free on Heroku-Featured

本指南將幫助您以一種更簡單的方式在Heroku上免費託管Python網站的整個過程。我們假設您對Python及其至少一個框架有基本的瞭解,最好是Django。

為什麼選擇heroku?

Heroku是一個平臺即服務(PaaS)的web託管提供商,它在稱為Dynos的東西上執行其基礎設施。它讓您專注於部署,同時也解決了維護和構建web基礎設施的困難。

如果你負擔不起付費託管,但想迅速建立一個線上投資組合,那麼你可能想考慮在Heroku上託管它。除了免費外,在Heroku上建立網站也很快。

當然,還有其他平臺可以免費託管Python網站,比如amazonwebservices和PythonAnywhere。但是在Heroku上託管的過程很容易——尤其是對於那些事先不知道部署的人來說。

當你在Heroku上免費託管一個網站時,你不一定要有域名。你只需要在主機平臺上指定你的應用程式名。Heroku然後建立一個app.herokuapp.com你的***。當您使用此免費服務時,您的站點將在Heroku Dynos上執行。

如果你後來決定擴大規模,得到一個域名,這同樣容易和快速,但你必須付出代價。維護升級的巨大成本可能會讓您重新考慮,但如果您決心在專案中投入更多的資金,這是值得的。

現在讓我們研究一下如何在Heroku上免費託管Python網站。注意,這是基於pythonversion3.7和Django version2.1.7的。

設定git和heroku

首先,從Git scm網站下載Git。這裡解釋了在所有作業系統上安裝Git的各種命令和技巧。

安裝Git之後,如果您還沒有Heroku註冊頁面,還需要在Heroku註冊頁面上設定一個帳戶。

接下來,從Heroku網站下載並安裝Heroku CLI。Heroku CLI允許您在每次需要提交應用程式更改時與儲存庫通訊。

如果您還不熟悉Git命令,那麼應該看看我們對Git版本控制的介紹。

建立django專案

如果您還沒有設定Django專案,並且希望在本教程中試用它,請開啟命令列並建立一個虛擬環境(如果您還沒有虛擬環境)。虛擬環境就緒後,使用以下命令安裝Django框架:

pip install django==2.1.7

在虛擬環境中安裝Django後,執行以下命令以啟動新的Django專案:

django-admin.py startproject project_name

接下來,建立一個新的Python應用程式。為此,請在CMD上遷移到專案的根資料夾並執行:

python manage.py startapp app_name

記住用你喜歡的名字替換project\u name和app\u name。

為此需要gunicorn模組,因此還應該執行pip install gunicorn。然後將gunicorn新增到設定.py,如下圖:

Adding gunicorn to project settings

這只是構建Django應用程式的表面介紹。但是,無論你的應用程式已經準備好了,還是你只是在構建一個應用程式,都要確保你的應用程式執行python管理.py遷移以建立資料庫。

現在,您應該有一個Python應用程式在Django框架中執行。現在我們來深入我們的主要目標。

將應用程式部署到heroku

要將應用程式成功部署到Heroku,您需要設定要求.txt檔案。要設定它,請在CMD上執行以下命令:

pip freeze > requirements.txt

該行建立了一個.txt檔案,其中包含用於為專案提供服務的所有包。Heroku在部署期間檢視該檔案並自動安裝這些包。

您需要指定的另一個重要檔案是Procfile。這將告訴Heroku在應用程式初始化時執行的命令。但是,必須透過在專案根目錄中顯式生成名為Procfile的新文字檔案來建立此檔案。確保此檔案沒有副檔名;否則,它將無法工作。

要在Windows中從Procfile中刪除副檔名,請在“檔案資源管理器”中開啟資料夾,單擊頂部工具欄上的“檢視”,然後選中“副檔名”框。然後您將看到所有檔案的副檔名,包括Procfile的.txt副檔名。右鍵單擊Procfile並選擇Rename,然後只需刪除.txt副檔名並按Enter鍵。

Removing the txt file extension from Procfile

接下來,開啟Procfile並新增以下行,用適用於您的專案的名稱替換專案名稱:

web: gunicorn project_name.wsgi

也可以選擇建立執行時.txt檔案。開啟檔案並指定Python版本,如下所示:

python-3.7.6

這就是你告訴Heroku應用程式執行的Python版本的方式。如果您沒有指定這個檔案,Heroku預設只使用Python的最新版本。

接下來,在命令提示符下,透過執行以下命令登入Heroku帳戶:

heroku login

該命令將開啟預設瀏覽器到Heroku登入頁面,在該頁面您可以提供登入憑據。

要在Heroku上建立應用程式,請鍵入以下行:

heroku create ademosapp2

將ademosapp2替換為首選應用程式名稱。如果您選擇的應用程式名稱正在使用中,您將看到一條訊息,提示您選擇一個新名稱。

在登入頁面上,單擊Heroku徽標登入到Heroku儀表板。現在應該看到剛剛建立的應用程式。

Heroku dashboard with created apps

接下來,開啟首選的文字編輯器到專案的位置,進入專案的位置設定.py. 在設定.py檔案,將允許的主機更改為[*]——這將使您的應用程式可供任何全域性主機訪問。

現在進入你的Heroku儀表板,點選新建立的應用程式,然後點選設定。在“設定”中,向下滾動並單擊“新增buildpack”。然後選擇Python作為構建包並單擊savechanges。

Adding build pack in Heroku

接下來,返回CMD並執行以下程式碼在專案中安裝Heroku:

pip install django-heroku

現在,將新安裝的包新增到要求.txt執行檔案:

pip freeze > requirements.txt

然後,開啟專案的設定.py檔案和型別:

import django_heroku

還有,在最後一行設定.py,透過新增以下內容啟用django heroku:

django_heroku.settings(locals()) #ensure that you comment this line out after deployment

完成後,透過在命令列中鍵入以下命令來啟動遠端儲存庫:

heroku init

接下來,透過執行以下命令建立Heroku應用程式儲存庫:

heroku git:remote -a ademosapp2 #replace ademosapp2 with your app's name

要檢查需要提交的檔案,請執行:

git status

接下來,鍵入以下命令將所有更改新增到儲存庫中:

git add --all

新增更改後,透過執行以下命令將更改提交給Heroku:

git commit -m "initial-commit"

注意,“初始提交”可以使用您喜歡的任何名稱。

接下來,應使用以下命令禁用collectstatic:

heroku config:set DISABLE_COLLECTSTATIC=1

否則,您可能會在部署過程中遇到問題。

要最終將檔案推送到Heroku儲存庫,請使用以下命令:

git push heroku master

這會將您的所有檔案推送到Heroku,並使應用程式可以從任何地方訪問。要檢視新部署的應用程式,請轉到https://app\u name.herokuapp.com在瀏覽器中,將app\u name替換為app的名稱。

Django's home page-what you should see

heroku能否託管一個不在python上執行的應用程式?

您可以在Heroku上託管各種應用程式構建;除了Python之外,我們在這裡介紹的Git程序也適用於其他語言。你只需要做一些小的改變,比如重置你的構建包。

雖然Heroku為您提供免費託管,但我們都知道免費內容有一些限制。然而,如果你不希望你的網站收到太多的流量,免費Heroku託管可能是一個不錯的選擇。

  • 發表於 2021-03-30 11:29
  • 閱讀 ( 105 )
  • 分類:程式設計

你可能感興趣的文章

如何使用cloud9在虛擬伺服器上免費安裝wordpress

... 如何在cloud9上安裝wordpress ...

  • 發佈於 2021-03-14 04:53
  • 閲讀 ( 50 )

使用xampp在windows上免費託管和編輯網站

... 請繼續閱讀,瞭解如何在您的計算機上免費建立您自己的網站,您可以從頭開始建立網站,也可以使用預先**的模板建立網站。哦,這包括託管你自己的WordPress帳戶以及! ...

  • 發佈於 2021-03-14 07:36
  • 閲讀 ( 41 )

7個標誌你應該升級你的免費網站到一個高階服務

...落格,但我也是一個節儉的怪胎——所以我有過相當多的免費網路託管經驗。相信我說的話:免費的網路託管是不值得的。 ...

  • 發佈於 2021-03-15 00:02
  • 閲讀 ( 51 )

用這些免費的線上互動式shell在瀏覽器中試用python

...過程弄得不知所措。您需要在系統上安裝Python,然後學習如何使用命令列處理程式碼,或者學習如何使用互動式shell,或者學習如何設定pythonide。 ...

  • 發佈於 2021-03-15 00:25
  • 閲讀 ( 52 )

免費網路託管對你的第一個網站有害的10種方式

...商。這可以確保你完全控制你的網站,你的內容,以及你如何選擇賺錢的內容。 ...

  • 發佈於 2021-03-15 07:54
  • 閲讀 ( 44 )

幫助您快速學習的10個基本python示例

... 如何宣告空dict: ...

  • 發佈於 2021-03-16 13:29
  • 閲讀 ( 47 )

如何用python讀寫google工作表

... 在本文中,我將向您展示如何使用Python讀寫googlesheets。如果您剛剛開始Python之旅,那麼以下5個學習Python的最佳網站是一個很好的起點。 ...

  • 發佈於 2021-03-16 13:43
  • 閲讀 ( 71 )

如何使用github頁面免費託管網站

...GitHub頁面就是這樣一種選擇,在本文中,我們將向您展示如何****GitHub頁面託管一個簡單的網站。 ...

  • 發佈於 2021-03-19 05:27
  • 閲讀 ( 49 )

如何建立自己的私有自託管ReadItLater應用程式

... 讓我們看看如何在計算機中建立Instapaper或Pocket的克隆,而不會丟失任何網頁資源。 ...

  • 發佈於 2021-03-19 09:29
  • 閲讀 ( 53 )

2019年最佳免費網站託管服務

...多很棒的服務和平臺——更不用說你可以從中挑選的所有免費網路主機了。 ...

  • 發佈於 2021-03-20 19:40
  • 閲讀 ( 65 )