通過OPENSHIFT進行DJANGO開發

本文分享了如何利用OpenShift平台免费搭建个人博客的过程,包括选择平台、创建项目、配置环境、解决数据库配置问题及域名绑定等关键步骤,最终实现网站的正常访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基於Django框架開發的個人博客近乎完工,就缺關鍵字索引功能和些許頁面的設計,結果BAE停掉了域名綁定服務(不能只使用BAE提供的二級域名訪問吧)。於是,折騰了一些於BAE類似的服務。

目標:*找個支持Python(Django)的平台,開發一款自己的Blog。 *
當然,儘量免費。學生黨,未工作,沒有依賴自己的資金來源——只能需求那些免費的雲服務了。 ##嘗試的雲服務平台 ###Google的GAE Google的GAE貌似對Django的支持不好,沒有嘗試。之前通過GAE搭建過自己的服務,但是在國內無法正常訪問。不過,如果綁定域名之後即可通過域名進行訪問。
如果不是生存在中國大陸,Google的GAE絕對是第一選擇。問題主要出在域名綁定。

  • 不支持.cn域名綁定。
  • Google Apps for Business要花費。一年貌似300RMB左右。想嘗試,但是不支持.cn域名綁定。 在環境許可的條件下,還是優先選擇Google的,不過可惜了。

###HeroKU 之前想學習Node.JS的時候,折騰過。默認也支持Django,本來是準備使用HeroKu的,但是問題在於訪問實在是太慢,www.heroku.com官網都得等許久才能顯示。
因為速度慢,調試等操作節奏就很慢——無奈放棄掉了。(應該是校園網絡環境得缺陷吧)。

###SEA、TAE, etc. 相信和BAE一個德行,沒有深入嘗試。進入官網後看看說明介紹,就直接放棄。SAE要什麼豆(變相收費),沒時間折騰;TAE試用,註冊就一堆事項,亦不折騰。

###OPENSHIFT 最終選擇的,可以搭建三個應用,支持域名綁定。速度和HeroKu類似,也很慢。不過文檔支持很好,自動提供的二級域名只能通過https來訪問。
有一點強悍的是支持Django,本地開發調試和上傳等操作真的很方便。唯一難以讓自己接受的是通過git進行代碼update的時候,操作比較多,速度很慢。
還有支持SSH登錄。(雖然執行操作的權限不多,但是真的很好玩)。

最後,文檔支持也是很重要的。GAE、HeroKu和openshift的文檔很豐富;嗯,都是看得明白的英文。

##創建項目 這個就直接查看OpenShift上面的說明文檔。很詳細,只要耐心看下去。
只要能夠安裝和學會rhc即可。 相關鏈接:OpenShift說明文檔

#創建項目
$ rhc app create MyApp python-2.7
#添加服務
$ rhc cartridge add mysql-5.1 -a MyApp

此時自己的Web App地址是http://MyApp-MyDomain.rhcloud.com/ (其中MyDomain即是你的OpenShift帳號名)。可以通過https訪問,在國內吧。

##搭建本地調試環境 創建好App之後,即可開始進行自己項目的開發編輯。注意的點是Django版本是1.4。
配置文件setting.py數據庫配置方面有個條件句。內容如下:

if ON_OPENSHIFT:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql', 
            'NAME': DB_NAME,  
            'USER': DB_USER,                     
            'PASSWORD': DB_PASSWD,               
            'HOST': DB_HOST,                     
            'PORT': DB_PORT,                     
        }
    }
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '',
            'USER': '',                      
            'PASSWORD': '',                  
            'HOST': '',                      
            'PORT': '',                     
        }
    }

具體操作為:先判斷是否為OpenShift平台,如果是,則配置上面的那個數據庫;否則,即配置下面的數據庫(作為本地開發調試使用)。這樣本地環境和OpenShift環境僅僅在數據庫方面的區別,其它相同,這樣就不必像我之前那樣,在本地開發好後在上傳。
##發佈自己的項目 ###數據庫配置 數據庫地址等等操作都是根據https://github.com/drivard/openshift-django-mysql/blob/master/wsgi/openshift/settings.py 來設置的。結果悲劇問題來了。

if os.environ.has_key('OPENSHIFT_APP_NAME'):
    DB_NAME = os.environ['OPENSHIFT_APP_NAME']
if os.environ.has_key('OPENSHIFT_DB_USERNAME'):
    DB_USER = os.environ['OPENSHIFT_DB_USERNAME']
if os.environ.has_key('OPENSHIFT_DB_PASSWORD'):
    DB_PASSWD = os.environ['OPENSHIFT_DB_PASSWORD']
if os.environ.has_key('OPENSHIFT_DB_HOST'):
    DB_HOST = os.environ['OPENSHIFT_DB_HOST']
if os.environ.has_key('OPENSHIFT_DB_PORT'):
    DB_PORT = os.environ['OPENSHIFT_DB_PORT']

根本得不到數據方面的信息,必須得在_DB_前添加MYSQL才會有意義。如OPENSHIFT_DB_HOST必須用OPENSHIFT_MYSQL_DB_HOST來替換。這樣才能正常訪問數據庫。 ###域名綁定 直接通過OpenShift官網。登錄後,選中自己的域名,添加alias即可。這也是我選擇OpenShift作為自己的博客開發服務的最直接原因。 ###SSH登錄查看 OpenShift還有個功能就是可以通過SSH登錄到遠程服務。 在終端輸入rhc app show -a App_name後會獲取到該App的所有信息。其中有一相就是SSH地址。

##總結

通過OpenShift開發的Web App的訪問依舊很慢(而且我還大量依賴JS),不過已經滿足了。現在,自己的博客網站http://blog.iliyang.cn/ 終於可以正常訪問。而且成本花費不高——零投資吧!

转载于:https://my.oschina.net/sunshinedabby/blog/191025

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值