步驟: 第一步:註冊新浪SAE賬號(即新浪微博),下載TortoiseSVN 第二步:部署代碼 使用SAE來部署代碼,SAE提供的是PAAS層的雲服務,即不是給你一個虛擬主機而是直接上傳應用。進入SAE的控制台,下圖所示: 1. 創建新應用: 2. 選擇python2.7後,創建新項目成功後,回到控
步驟:
第一步:註冊新浪SAE賬號(即新浪微博),下載TortoiseSVN
第二步:部署代碼
使用SAE來部署代碼,SAE提供的是PAAS層的雲服務,即不是給你一個虛擬主機而是直接上傳應用。進入SAE的控制台,下圖所示:
1. 創建新應用:
2. 選擇python2.7後,創建新項目成功後,回到控制台,點擊項目就可以進入對項目進行管理。這裡可以用git和svn來上傳代碼,這裡推薦用svn。
3. 創建一個版本,版本號為1。創建成功後,可以看到如下信息。
4. 使用svn部署代碼
首先在合適的位置創建一個svn文件夾,比如 E:\svn。
然後,在svn下麵再創建一個文件夾,名字是在創建應用時填在二級功能變數名稱里的名字,如lcnet。
滑鼠右擊文件夾pylabsite,選擇SVN Checkout,填寫URL,其他預設,點擊OK,之後填寫註冊郵箱和密碼,填寫時選上save authentication。
完成之後在lcnet文件夾里會多出2個文件夾,1和.svn,.svn里的東西不用管,重點看1,剛檢出來的時候 1 目錄下只有config.yaml
和index.wsgi兩個文件,然後將本地項目lcnet複製到1文件夾里,由於SAE最多支持Django1.4版本,這裡要把python安裝位置(例
如C:\Python27\Lib\site-packages)的Django包拷貝過來,新建一個site-packages文件夾,記得將site-packages\django
\contrib\admin下的static放在1文件夾下,文件目錄結構如下:
三、修改文件信息:
修改config.yaml和index.wsgi這兩個文件。
#--config.yaml--# name: lcnet2 version: 2 libraries: - name:"django" version:"1.8.3" handlers: - url: /foo static_dir: foo
#--index.wsgi--# import os import sys root = os.path.dirname(__file__) sys.path.insert(0, os.path.join(root, 'site-packages')) os.environ.setdefault("DJANGO_SETTINGS_MODULE" , "lcnet_blog.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
1/lcnet_blog/wsgi.py修改如下:
import os import sys from django.core.wsgi import get_wsgi_application root = os.path.dirname(__file__) sys.path.insert(0, os.path.join(root,'.','site-packages')) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lcnet_blog.settings") application = get_wsgi_application()
1/lcnet_blog/urls.py修改如下:
#--urls--# from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'',include('blog.urls')) ] admin.autodiscover() from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += staticfiles_urlpatterns()
1/lcnet_blog/settings.py修改:
EBUG = True TEMPLATE_DEBUG = False ALLOWED_HOSTS = ['.sinaapp.com',] debug = not environ.get("APP_NAME","") if debug: MYSQL_DB = 'lcnet' MYSQL_USER = 'root' MYSQL_PASS = 'root' MYSQL_HOST_M = '127.0.0.1' MYSQL_HOST_S = '127.0.0.1' MYSQL_PORT = '3306' else: import sae.const MYSQL_DB = sae.const.MYSQL_DB MYSQL_USER = sae.const.MYSQL_USER MYSQL_PASS = sae.const.MYSQL_PASS MYSQL_HOST_M = sae.const.MYSQL_HOST MYSQL_HOST_S = sae.const.MYSQL_HOST_S MYSQL_PORT = sae.const.MYSQL_PORT DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': MYSQL_DB, ## 資料庫名稱 'USER': MYSQL_USER, 'PASSWORD': MYSQL_PASS, ## 安裝 mysql 資料庫時,輸入的 root 用戶的密碼 'HOST': MYSQL_HOST_M, 'PORT': MYSQL_PORT, } }
第四步、上傳代碼:
將所有要修改的東西修改完,就可以通過svn上傳到SAE了,操作方法,右鍵1,選擇SVN Commit…
Django包有個十幾M,不過上傳速度很慢,這個過程可以休息會(sae偶爾會抽,多嘗試上傳幾次)。
第五步、配置Mysql:
以上配置完成了,現在資料庫還是空的,有一種方法是在本地部署SAE環境然後 python manage.py migrate
同步到伺服器,不過這樣搞很折騰。
第二種方法是在本地執行 python manage.py migrate,然後從本地Mysql導出SQL語句文件,然後在SAE的Mysql
運行SQL語句,我這裡是用 Navicat for MySQL 導出的SQL語句文件,很方便。
然後就可以訪問 yourAppName.sinaapp.com 來看我們的勞動成果了。
參考:
1. http://www.sinacloud.com/doc/sae/python/tutorial.html
2. http://www.mamicode.com/info-detail-471552.html
3. http://my.oschina.net/u/877170/blog/314459?fromerr=nY9nBubm