新浪SAE部署django博客

来源:http://www.cnblogs.com/smdm/archive/2016/03/09/5258744.html
-Advertisement-
Play Games

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

 

 

  

       

      

 

      


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MySQL 教程 MySQL 安裝 MySQL 管理與配置 MySQL PHP 語法 MySQL 連接 MySQL 創建資料庫 MySQL 刪除資料庫 MySQL 選擇資料庫 MySQL 數據類型 MySQL 創建數據表 MySQL 刪除數據表 MySQL 插入數據 MySQL 查詢數據 MySQL
  • 目前為止,學習編程一年有餘,寫過管理系統,寫過商城,寫過桌面,接觸的多了,亂七八糟的點太多,一堆前段框架,後臺類庫,紛紛雜雜,更新迭代之快也是令人咋舌。於是我就在想,作為一名程式員,哪些內容是實打實的乾貨呢,互聯網的內容是學習不完的,只有當你用到它時,才去學習,這是我的理解。零零散散的東西除去,越來
  • execute,簡寫為exec,除了用來執行存儲過程,一般都用來執行動態Sql sp_executesql,sql2005中引入的新的系統存儲過程,也是用來處理動態sql的,如: exec sp_executesql @sql, N'@count int out,@id varchar(20)',
  • -- =============================================-- Author: <Author,,Name>-- Create date: <Create Date,,>-- Description: <Description,,>-- ============
  • ORACLE 10g提供了一個腳本sqltrpt.sql用來查詢最耗費資源的SQL語句,其輸出的結果分為兩部分: 15 Most expensive SQL in the cursor cache 15 Most expensive SQL in the workload repository 另外...
  • 國內最大的程式員社區CSDN網站的用戶資料庫被黑客公開發佈,600萬用戶的登錄名及密碼被公開泄露,隨後又有多家網站的用戶密碼被流傳於網路,連日來引發眾多網民對自己賬號、密碼等互聯網信息被盜取的普遍擔憂。 網路安全成為了現在互聯網的焦點,這也恰恰觸動了每一位用戶的神經,由於設計的漏洞導致了不可收拾的惡
  • 一、本地文件方式 原理:此方式MyCAT將sequence配置到文件中,當使用到sequence中的配置後,MyCAT會更下classpath中的sequence_conf.properties文件中 sequence當前的值。 配置方式: sequence_conf.properties中配置:
  • 今天碰到一雷死人的事情,在Windows Server 2012 R2上安裝SQL SERVER 2005標準版過程中一直遇到“The SQL Server service failed to start。 For more information......",最後下麵兩個組件無法安裝成功。 後面...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...