zoukankan      html  css  js  c++  java
  • 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” 目录下。注:删除mysiteinventorystatic目录,重复上传静态文件会导致源码太大。

    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网络上了,以后我们会继续对“新浪云”发布的这个网站或服务进行功能扩展,来阐述如何支持其它服务的开发。

  • 相关阅读:
    GIT更改clone方式 ;GIT的SSH配置
    关于web性能测试的一些总结
    pyinstaller 打包selenium程序后,消除chromdriver 控制台黑框
    pyinstaller 打包exe 遇到的坑
    jenkins 新增节点的3种方式
    class
    python 语法糖
    模块 subprocess
    模块 re
    模块 logging
  • 原文地址:https://www.cnblogs.com/haozi0804/p/4736113.html
Copyright © 2011-2022 走看看