17. 新浪云部署

上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上。

本章章节我们描述如何在新浪云上部署python django 项目。首先,我们需要注册新浪云用户账号,新浪云用户现在需要实名认证,通过实名认证的账号创建的应用才能正常运行。

17.1. 创建应用

注册成功后登录SAE,进入我的首页,点击创建新应用,创建一个新的应用myseasite,开发语言选择Python。

17.2. 安装SVN

TortoiseSVN下载: http://tortoisesvn.net/downloads.html 安装SVN

17.3. 应用的代码管理创建版本号“1”

创建完版本后,新浪云自己增加两个文件config.yaml和 index.wsgi ,现在我们就可以访问我们的应用地址:http://mysaesite.sinaapp.com/

17.4. 创建代码本地目录

右键创建好的目录mysaesite,选择SVN Checkout数据新浪云应用代码库地址和本地目录。

输入应用的新浪云的代码库url,如下图:

点击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命令,添加新文件。

执行完添加后版本“1” 目录出现一个红色的感叹号,如下图:

右键版本“1” 目录,选择SVN Commit…命令,上传代码文件到服务器。

浏览器浏览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 = ''
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里查看到生成的表结构。

在物料表和库存表手工添加一些数据,后面我们就可以运行网站查询库存数据,验证发布是否正常了。

17.9. 运行网站,新浪云发布成功

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

17.10. 小结

本章节我们演示了如何把我们的项目发布到“新浪云”上,这样我们的项目就可以运行在internet网络上了,以后我们会继续对“新浪云”发布的这个网站或服务进行功能扩展,来阐述如何支持其它服务的开发。

Python开发入门与实战17-新浪云部署的更多相关文章

  1. Python开发入门与实战19-Windows Azure web 应用部署

    19. 微软云web应用部署 上一章节我们介绍了如何实现在微软云通过虚拟机部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署通过部署网站的方式来部署我们的应 ...

  2. Python开发入门与实战18-Windows Azure 虚拟机部署

    18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...

  3. Python开发入门与实战20-微信开发配置

    随着移动互联网时代的来临,微信已经成为移动互联网移动端的主要入口,现在很多的大型企业都有自己的微信服务号,如:银行业有自己的微银行,基金公司的公众服务号.通过微信入口可以方便快速的实现企业提供的服务. ...

  4. 新浪云部署java web程序 注意事项

    在新浪云新手指南里有部署java的示例,但是对一个新手来说难免会有一些地方犯错,折腾了好长时间才把自己的java web部署到了新浪云.这里主要写一些我遇到的问题与第一次使用新浪云的朋友分享一下. 首 ...

  5. Python开发入门与实战1-开发环境

    1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...

  6. Python开发入门与实战8-基于Java的集成开发环境

    8. 基于Java的Python的集成开发环境 目前为止我们所有的代码和例子都是通过Notepad文本编辑器来实现的,实际项目开发中这种编码模式效率较低(大虾除外),使用IDE集成开发环境常常大幅度的 ...

  7. 开发微信公众平台--新建新浪云sae部署server

    创建新浪云计算应用 申请账号 我们使用SAE新浪云计算平台作为server资源.而且申请PHP环境+MySQL数据库作为程序执行环境. 申请地址:百度搜sae ,使用新浪微博账号能够直接登录SAE,登 ...

  8. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  9. Python开发入门与实战13-基于模板的界面

    13. 基于模板的界面 本章我们将继续基于库存的简单例子来阐述如何在python django中体现MVC的架构,根据djangobook说明: M:数据存取部分,由django数据库层处理,本章要讲 ...

随机推荐

  1. TCP/IP协议学习(五) 基于C# Socket的C/S模型

    TCP/IP协议作为现代网络通讯的基石,内容包罗万象,直接去理解理论是比较困难的:然而通过实践先理解网络通讯的理解,在反过来理解学习TCP/IP协议栈就相对简单很多.C#通过提供的Socket API ...

  2. 冰球项目日志3-yjw

    小组讨论 今天大家讨论了之前各自想的方案的问题,基本确定了寻找击球点的方案,以及击球手运动轨迹规划的方案,这里我只是简单的说下我们的击球点的确定方案. 击球策略方案 方案分析 首先我们建立平面在直角坐 ...

  3. 个人评测——K米

    K米APP案例分析 关于 K米 -- 的案例分析 产品 K米的APP (全国KTV点歌,手机直播,互动,交友,预订)的Android客户端 第一部分 调研,评测 评测: 软件的bug,功能评测,黑箱测 ...

  4. 在线调试lua原型设计

    在规模日益增长的软件项目开发中, 如何有效的进行代码调试成为影响开发效率的致命因素之一.在当今网络游戏项目中, lua几乎成了项目脚本的标配.编译型的语言, 诸如C++, 都有良好的ide支持调试.而 ...

  5. HTTP性能小测试

    一直说node.js如何如何好,就来测试一下吧~~ 首先接受一个小工具 Apache Bench简称ab 可以用来测试http性能 利用Apache Bench测试Web引擎性能关于此工具的详细介绍参 ...

  6. jq点击小图 弹出大图(更新版)

    $(function(){ $(".fj1-consult").on("click",function(){ //设置弹框中图片的路径 $(".lay ...

  7. AFNetworking到底做了什么?(二)

      接着上一篇的内容往下讲,如果没看过上一篇内容可以点这: AFNetworking到底做了什么? 之前我们讲到NSUrlSession代理这一块: 代理8: /* task完成之后的回调,成功和失败 ...

  8. 2016年最佳Linux发行版排行榜

    2015年,不管在企业市场还是个人消费市场都是 Linux 非常重要的一年. 最好的回归发行版:openSUSE openSUSE 背后的 SUSE 公司是最老的 Linux 企业,它成立于 Linu ...

  9. Windows下配置nginx+php(wnmp)

      第一部分:准备工作.(系统:Windows 8.1) 1.首先是下载软件. NGINX-1.3.8官网下载:http://nginx.org/en/download.html PHP5.4.8版本 ...

  10. PHP分页类,生成分页html字符串

    <?php namespace Common\Common; /** * 该Page类主要有两个方法:showPageString(), showPageStringAsAJAX() * * s ...