こんにちは、ハブロビテス! 最近、Python、特にDjango Webフレームワークに興味を持ちました。 主な機能に慣れた後、Djangoをサポートする無料のホスティングを探していました。 私はその瞬間にGAEを完全に忘れていたと告白しますが、昨日それについて読んだので、私は選択が悪くないことに気づきました。 AppFogさん、ようこそ! (慎重に、カット写真の下!)
無料のアカウントを作成できるのはなぜですか?
- 2 GB。 すべてのアプリケーションで共有されるディスク容量
- 最大8つのサービスに接続
- 100メガバイト MySQLまたはPostgreSQLデータベース用
- 10メガバイト RAMおよびRedis、MongoDB、RabbitMQの最大6つの同時接続
- 5 GB 毎月のトラフィック
- 1秒あたり100リクエスト
- コミュニティヘルプ
- アプリケーションは* .af.cmドメインでホストされます
残念ながら、SSHのようなパンは支払わなければなりません。
価格そのもの 。 さて、無料のアカウントを登録し、石鹸の確認キーが付いたメッセージを取得します(このステップで2日目はすでに取得しています)。 その後、アドレス
https://console.appfog.com/にアクセスして 、アプリケーションを作成します。
http://console.appfog.com アプリケーションを作成する
[新しいアプリ]ボタンをクリックして、必要なプラットフォームを選択します。 リストが印象的なので、原則として、ここですごい効果を経験しました。 Djangoを選択します。
次に、サーバーの場所を選択する必要があります。 ご覧のとおり、すべてのサーバーが異なるプラットフォームをサポートしているわけではありません。 AWS Europe Westを選択しました。 次に、サイトのドメイン名を入力します。
[アプリの作成]をクリックします。 アプリケーションの作成の「ログ」を表示するページに移動します。
私たちを作成した後、自動的にアプリケーションページに転送されます
サービス -アプリケーションのサービスを管理できます。
アドオン -追加機能をインストールできます。 ページが大きいため、リストを示します。
Logentries、Redis Cloud、Xeround、Searchify、MongoHQ、MongoLab、Blitz、ClearDB、MemCachier、Cloudinary、IronMQ、Nexmo、IronWorker、CloudMailin、Mailgun
ソースコードを更新 -少し低い。
ドメイン名 -独自のドメインを追加できます。 しかし... *ドラムロール*無料アカウントでは利用できません。
環境
変数 -環境変数を追加できます。
SSL-無料アカウントでは利用できません。
クローン -アプリケーションを別のサーバーにクローンします。
設定-1つのボタン-アプリの削除。
そして今、再び、軟膏のフライ(そのような誰かが)-アプリケーションコードを更新するには、
Rubyと
af gemが必要です。 Windowsを使用しているため、インストーラーをプルします。
Rubyインストーラーページに移動し、
インストーラーをダウンロードします。 インストールプロセス中に、RubyへのパスをPath変数に追加する必要があるかどうかを尋ねられます-dawを入力します(経験の浅いユーザーの場合、「プロ」はそれを行わない場合があります)。 そして、はい、注意-AppFog gemはCygwinでは動作しません-ログインを入力するとハングします(トラブル)。
したがって、カットをインストールした後、コンソールを開いて入力します
gem update --system gem install af
次に、[ソースコードの更新]ページに移動して、[ソースコードのダウンロード]ボタンをクリックします(注意深い人は、このボタンが草刈りヘッダーにもあることにすでに気付いています)。 彼らは私たちにコードが付いたzipを提供します。 それをフォルダに展開し、コンソールから入力します。 次に、AppFogにログインする必要があります。
af login [WARNING] DL is deprecated, please use Fiddle Attempting login to [https://api.appfog.com] Email: youremail@example.com Password: ************** Successfully logged into [https://api.appfog.com]
以下は、私と同じザリガニについて書かれています:)
それでは、コードを変更しましょう。 まず、
setting.pyを開き、次の変更を行います。
- DEBUGをFalseに設定します
- 行PROJECT_ROOT = os.path.abspath(os.path.dirname(__ file__))を見つけて、MANAGERS = ADMINS行の下の先頭に移動します。
- 前の行の後に、ドメインを追加する許可されたホストのリストを追加します。ALLOWED_HOSTS = ['habratest.eu01.aws.af.cm/'、]
- STATIC_ROOT = ''をSTATIC_ROOT = os.path.joinに置き換えます(PROJECT_ROOT、 'static')
次に、views.pyを作成して書き込みます。
views.py from django.shortcuts import render_to_response def index(request): return render_to_response('index.html')
urls.pyを開き、次の変更を行います。
urls.py from django.conf.urls.defaults import patterns, include, url import settings from views import * urlpatterns = patterns('', url(r'^$', index), (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
テンプレートフォルダーにbase.htmlファイルを作成し、フォームに追加します
base.html <!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock %}</title> </head> <body> {% block content %}{% endblock %} </body> </html>
index.htmlファイルを変更します
index.html {% extends "base.html" %} {% block title %}Django page{% endblock %} {% block content %} <h1>Welcome to habratest Django page!</h1> {% endblock %}
そして、404.htmlファイルを作成します
404.html {% extends "base.html" %} {% block title %}404{% endblock %} {% block content %} <h1>404 ERROR</h1> {% endblock %}
同様に、500個のエラーのテンプレートを作成できます。
更新アプリケーション
すべての操作の後、アプリケーションをクラウドにダウンロードする必要があります。 私たちは再びコンソールに行き、書きます
af update habratest [WARNING] DL is deprecated, please use Fiddle Uploading Application: Checking for available resources: OK Packing application: OK Uploading (5K): Push Status: OK Stopping Application 'habratest': OK Staging Application 'habratest': ... Staging Application 'habratest': OK Starting Application 'habratest': .. Starting Application 'habratest': OK
完了後、
habratestに移動してページを表示します。 :)おめでとう、あなたはクラウドで最もシンプルなアプリが欲しかった!
あとがきの代わりに
データベースの接続と操作に関する情報が不足していることをおaびします。Djangoの勉強を始めたばかりで、まだデータベースを使用していません。
誰かがアカウントを登録したくない場合-このテストアカウントからデータを提供できます。PMに書き込みます。
ご清聴ありがとうございました。疲れないことを願っています。