程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 新浪SAE部署django博客,sae部署django

新浪SAE部署django博客,sae部署django

編輯:MySQL綜合教程

新浪SAE部署django博客,sae部署django


步驟:

  第一步:注冊新浪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

 

 

  

       

      

 

      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved