文档中心 云数据库 MySQL 最佳实践 部署 Python Web 应用程序

部署 Python Web 应用程序

最近更新时间:2019-03-08 15:58:45

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。
本教程指导如何部署默认 Django 网站至运行 Python 2.7 的 CVM 云服务器。

使用的软件环境为:CentOS7.2 | Python2.7 | Django1.11。

登录到云服务器实例

云服务器的购买和访问请参考 快速入门 Linux 云服务器

安装 Python

在 CentOS 中会会默认安装 Python,您可通过 python --version 查看 Python 版本。

安装 Django

  1. 安装 pip。
    yum install python-pip -y
  2. 通过 pip 安装 Django。
    pip install Django
  3. 查看 Django 版本,测试 Django 是否安装完成。
    python # 进入python命令行
    >>> import django
    >>> django.VERSION

安装 MySQLdb 模块

安装 MySQL 的支持模块。

yum install python-devel
yum install mysql-devel
pip install MySQL-python

安装 Apache 服务

  1. 在云服务器实例中使用 yum 安装 Apache。
    yum install httpd -y
  2. 启动 Apache 服务。
    service httpd start
  3. 测试 Apache 。

    注意:
    此步骤需要您的云服务器在安全组中配置来源为 all,端口协议为 TCP:80 的入站规则。关于安全组的配置方法请参考 安全组

在您本地的浏览器中输入http://115.xxx.xxx.xxx/(其中 115.xxx.xxx.xxx为您的云服务器公网 IP 地址),出现下列画面表示 Apache 启动成功。

安装 Apache 的 mod_wsgi 拓展作为 Django 的应用容器

  1. 安装 httpd-devel。
    yum install -y httpd-devel
  2. 安装 mod_wsgi。
    yum install -y mod_wsgi
  3. 在httpd.conf文件中添加以下内容,httpd.conf 的路径为 /etc/httpd/conf/httpd.conf
    LoadModule  wsgi_module modules/mod_wsgi.so

创建项目测试 Django 环境

  1. 在 /usr/local 下创建测试项目,运行 django-admin.py startproject projectname 来创建一个项目,其中 projectname 为项目名。
    cd /usr/local
    django-admin.py startproject testProject
  2. 在项目根目录中新建文件 django.wsgi 作为 Apache 支持。
    cd /usr/local/testProject
    vim django.wsgi
  3. 在 django.wsgi 中输入以下内容。
    import os
    import sys
    from django.core.wsgi import get_wsgi_application
    sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '..'))
    os.environ['DJANGO_SETTINGS_MODULE'] = 'projectname.settings'
    application = get_wsgi_application()
  4. 在 Apache 中添加支持 。
    WSGIScriptAlias /python "/usr/local/testProject/django.wsgi"
  5. 创建视图,在项目目录下创建 view.py 文件作为访问入口,内容如下。
    from django.http import HttpResponse
    def hello(request):
    return HttpResponse("Hello world ! ")
  6. 配置 URL,配置项目目录下的 urls.py 文件,删除原来的内容,添加内容如下。
    from django.conf.urls import *
    form testProject.view import hello
    urlpatterns = [
     url(r'^hello/$',hello),
    ]
  7. 重启 Apache 服务。
    service httpd restart
  8. 在您本地的浏览器中输入http://115.xxx.xxx.xxx/python/hello(其中 115.xxx.xxx.xxx为您的云服务器公网 IP 地址),页面出现 “Hello world !” 表示项目环境搭建成功。

在 Django 中配置云数据库 TencentDB(可选)

  1. 配置项目目录下的 settings.py 文件。
    DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'mysql',
         'USER': 'root', # TencentDB 账户名
         'PASSWORD': '123456', # TencentDB 账户密码
         'HOST': '0.0.0.0', # TencentDB 内网地址
         'PORT': '3306', # TencentDB 端口
     }
    }
  2. 配置完成后可以使用以下命令测试数据库连接。
    $python manage.py validate/check
  3. 测试通过即可进行数据库操作,有关更多的数据库操作请参考 模型和数据库