Python開發入門與實戰17-新浪雲部署


17. 新浪雲部署

上一章節我們介紹了如何在本地windows服務器部署python django的網站,本章我們簡要說明一下如何把python django工程部署到雲服務上。

本章章節我們描述如何在新浪雲上部署python django 項目。首先,我們需要注冊新浪雲用戶賬號,新浪雲用戶現在需要實名認證,通過實名認證的賬號創建的應用才能正常運行。

image

17.1. 創建應用

注冊成功后登錄SAE,進入我的首頁,點擊創建新應用,創建一個新的應用myseasite,開發語言選擇Python。

image

17.2. 安裝SVN

TortoiseSVN下載: http://tortoisesvn.net/downloads.html 安裝SVN

17.3. 應用的代碼管理創建版本號“1”

image

創建完版本后,新浪雲自己增加兩個文件config.yaml和 index.wsgi ,現在我們就可以訪問我們的應用地址:http://mysaesite.sinaapp.com/

image

17.4. 創建代碼本地目錄

image

右鍵創建好的目錄mysaesite,選擇SVN Checkout數據新浪雲應用代碼庫地址和本地目錄。

image

輸入應用的新浪雲的代碼庫url,如下圖:

image

點擊OK,輸入代碼庫的用戶名和密碼,注意:用戶名和密碼為SAE的安全郵箱和安全密碼。

Checkout命令執行完后,我們的本地目錄多了一個子目錄 “1”,里面有兩個文件config.yaml和 index.wsgi。

17.5. 使用django web開發框架

目前SAE上預置了多個版本的Django,默認的版本為1.2.7,在本示例中我們使用1.4版本。

在默認版本目錄下創建應用配置文件 config.yaml ,在其中添加如下內容:

name: mysaesite
version: 1
libraries:
- name: "django"
version: "1.4"

index.wsgi文件內容替換如下:

import sae from mysite import wsgi application = sae.create_wsgi_app(wsgi.application)

17.6. 拷貝工程文件到本地發布目錄

接着我們把上一章節Apache本地服務器發布目錄的文件拷貝到 版本“1” 目錄下。注:刪除mysite\inventory\static目錄,重復上傳靜態文件會導致源碼太大。

17.7. 代碼上傳到服務器

右鍵版本“1” 目錄,選擇Add命令,添加新文件。

image

image

image

執行完添加后版本“1” 目錄出現一個紅色的感嘆號,如下圖:

image

右鍵版本“1” 目錄,選擇SVN Commit…命令,上傳代碼文件到服務器。

image

image

瀏覽器瀏覽http://mysaesite.sinaapp.com/網站,出現錯誤提示,新浪雲不支持工程項目的sqlite3數據庫,現在我們需要使用新浪雲提供的mysql數據庫了。

17.8. 在應用的Mysql服務里增加共享型Mysql,修改setting.py的數據庫配置如下。

import os,sys
from sae.const import (MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB)
if 'SERVER_SOFTWARE' in os.environ:
    from sae.const import (MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB)
else:   

    MYSQL_HOST = 'w.rdc.sae.sina.com.cn'
    MYSQL_PORT = '3307'
    MYSQL_USER = 'ACCESSKEY'
    MYSQL_PASS = 'SECRETKEY'
    MYSQL_DB   = 'app_mysaesite'

    from sae._restful_mysql import monkey
    monkey.patch()

DATABASES = {
    'default': {
        'ENGINE':   'django.db.backends.mysql',
        'NAME':     MYSQL_DB,
        'USER':     MYSQL_USER,
        'PASSWORD': MYSQL_PASS,
        'HOST':     MYSQL_HOST,
        'PORT':     MYSQL_PORT,
    }
}


##DATABASES = {
##    'default': {
##        # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
##        'ENGINE': 'django.db.backends.sqlite3',
##        # Or path to database file if using sqlite3.
##        'NAME': 'C:\\My Files\\Python Projects\\mysite\\mysite\\MyDB.db',
##        # Not used with sqlite3.
##        'USER': '',
##        # Not used with sqlite3.
##        'PASSWORD': '',
##        # Set to empty string for localhost. Not used with sqlite3.
##        'HOST': '',
##        # Set to empty string for default. Not used with sqlite3.
##        'PORT': '',
##    }
##}

修改好setting.py文件后,我們可以在工程了運行django sync DB命令同步表結構了,這樣就可以在新浪雲的管理Mysql里查看到生成的表結構。

在物料表和庫存表手工添加一些數據,后面我們就可以運行網站查詢庫存數據,驗證發布是否正常了。

image

17.9. 運行網站,新浪雲發布成功

http://mysaesite.sinaapp.com/inventoryQuery/

image

17.10. 小結

本章節我們演示了如何把我們的項目發布到“新浪雲”上,這樣我們的項目就可以運行在internet網絡上了,以后我們會繼續對“新浪雲”發布的這個網站或服務進行功能擴展,來闡述如何支持其它服務的開發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM