设为首页 收藏本站
查看: 1303|回复: 0

[经验分享] Python开发入门与实战17-新浪云部署

[复制链接]

尚未签到

发表于 2015-11-29 11:30:32 | 显示全部楼层 |阅读模式
17. 新浪云部署
  上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上。
  本章章节我们描述如何在新浪云上部署python django 项目。首先,我们需要注册新浪云用户账号,新浪云用户现在需要实名认证,通过实名认证的账号创建的应用才能正常运行。
DSC0000.png

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

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

17.3. 应用的代码管理创建版本号“1”
DSC0002.png
  创建完版本后,新浪云自己增加两个文件config.yaml和 index.wsgi ,现在我们就可以访问我们的应用地址:http://mysaesite.sinaapp.com/
DSC0003.png

17.4. 创建代码本地目录
DSC0004.png
  右键创建好的目录mysaesite,选择SVN Checkout数据新浪云应用代码库地址和本地目录。
DSC0005.png
  输入应用的新浪云的代码库url,如下图:
DSC0006.png
  点击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命令,添加新文件。
DSC0007.png
DSC0008.png
DSC0009.png
  执行完添加后版本“1” 目录出现一个红色的感叹号,如下图:
DSC00010.png
  右键版本“1” 目录,选择SVN Commit…命令,上传代码文件到服务器。
DSC00011.png
DSC00012.png
  浏览器浏览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里查看到生成的表结构。
  在物料表和库存表手工添加一些数据,后面我们就可以运行网站查询库存数据,验证发布是否正常了。
DSC00013.png

17.9. 运行网站,新浪云发布成功
  http://mysaesite.sinaapp.com/inventoryQuery/
DSC00014.png

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-144872-1-1.html 上篇帖子: 翻译《Writing Idiomatic Python》(二):函数、异常 下篇帖子: Python学习 —— 阶段综合练习一
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表