1. 犀牛前端部落首页
  2. python百科

Django基础教程:被解放的姜戈08 远走高飞

之前在单机上实现了一个Django服务器(被解放的姜戈07 马不停蹄),现在我们可以把这个服务器推上一个云平台。这里我选择使用阿里云。

看着复仇的火焰燃烧,姜戈露出得意的笑容。

Django基础教程:被解放的姜戈08 远走高飞

阿里云准备

在阿里云官网(aliyun.com)页面注册阿里云账号。登录后选择云服务器ECS,并选择“创建实例”:

Django基础教程:被解放的姜戈08 远走高飞

选择操作系统Ubuntu 14.04 64位,设置密码。实例开通后,可以在实例记录中查到它的IP地址,我以199.199.199.199为例。用SSH登录:

ssh root@199.199.199.199

直接使用root账户,有可能给系统带来风险。所以创建一个新的用户vamei,并根据提示设置该用户密码:

sudo adduser vamei

为了管理方便,我们赋予该账户以管理员运行命令(sudo)的权力。打开文件/etc/sudoers,找到下面一行:

root ALL=(ALL:ALL)ALL

在这一行下方增加新的一行:

vamei ALL=(ALL:ALL)ALL

编辑/etc/sudoers时,有可能需要先给root增加写入权限。

此外,新建用户没有定义默认的SHELL。可以设定为最常用的BASH。打开/etc/passwd,找到对应用户vamei的一行,改为:

vamei:x:1000:1000::/home/vamei:/bin/bash

即在末尾增加了/bin/bash,说明所要用的SHELL。

 

安装Django

登出root,登入vamei的账户,为安装Django做准备。Ubuntu系统中已经自带有Python 2.7。我先安装virtualenv,为网站设立运行时用的虚拟环境。

# 安装virtualenv
sudo apt-get install python-virtualenv

# 创建一个新的虚拟环境,命名为ENV
virtualenv ENV

# 启动ENV
source ENV/bin/activate

完成后,命令行提示符前会出现一个(ENV)的前缀,说明已经处于名为ENV的虚拟环境中。

*** 如果需要退出该虚拟环境,用以下命令:

deactivate

在虚拟环境下安装Django:

pip install django

安装数据库和HTTP服务器

Django可以直接使用SQLite作为数据库,也可以配置使用其他类型的数据库。这里以MySQL为例,说明相关环境的安装:

# 安装MySQL服务器
sudo apt-get install mysql-server 

# 安装客户工具
sudo apt-get install libmysqlclient-dev

Django虽然自带一个简单的HTTP服务器,但只供开发时使用。为了把Django用于生产环境,还需要搭配专业的HTTP服务器,如Apache, Nginx等。安装Apache服务器:

sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

 

数据库和HTTP服务器的具体配置可参考:被解放的姜戈07 马不停蹄

 

运行Django服务器

利用sftp或scp把Django服务器的项目代码放上云平台。由于我们使用了virtualenv来安装Django,所以Django并不在系统的默认路径上。为了让系统正常运行,还需要在wsgi.py中加入:

 

import sys

# 加入virtualenv的路径
sys.path.append('/home/vamei/ENV/lib/python2.7/site-packages')

再按照被解放的姜戈07 马不停蹄配置好对应的数据库和Apache服务器,就可以通过IP地址来访问服务器了。更进一步,还可以注册域名并备案,以便通过域名访问。这些服务都可以在阿里云上找到,使用过程也比较简单,这里从略。

欢迎阅读“被解放的姜戈”系列文章。

原文作者

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/880.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注