作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系。

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

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

阿里云准备

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

选择操作系统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地址来访问服务器了。更进一步,还可以注册域名并备案,以便通过域名访问。这些服务都可以在阿里云上找到,使用过程也比较简单,这里从略。

姜戈和自己的爱人,骑着马远走高飞。

被解放的姜戈08 远走高飞相关推荐

  1. 被解放的姜戈02 庄园疑云

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 上一回说到,姜戈的江湖初体验:如何架设服务器,如何回复http请求,如何创建App ...

  2. 被解放的姜戈03 所谓伊人

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在之前的程序中,我们直接生成一个字符串,作为http回复,返回给客户端.这一过程中 ...

  3. 被解放的姜戈01 初试天涯

    Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django.虽然Django之于Pytho ...

  4. 被解放的姜戈04 各取所需

    我们在庄园疑云中讲到了服务器上的数据.当时我们是用手动的方式,直接在数据库插入数据.我们将允许客户向服务器传递数据. 表格是客户向服务器传数据的经典方式.我们先会看到传统的表格提交,然后了解Djang ...

  5. 被解放的姜戈07 马不停蹄

    前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等.但都是使用python manage.py runserver来运行服务器.这是一个实验性的web服务器,不适用于正常的站点 ...

  6. 学习python、数据结构等很多的博客

    出处:http://www.cnblogs.com/vamei/p/3603046.html Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢 ...

  7. pythondjangoddos_django带服务器

    被解放的姜戈08 远走高飞 作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. 之前在单机上实现了一个Django服务器(被解放的姜戈07 马不停蹄) ...

  8. 阿里mysql密码_阿里云自带mysql 密码

    阿里云服务器部署Java Web项目和连接MySQL数据库全流程 前阵子接了一个小小的JavaWeb项目,按照需求得发布上线到云服务器,同时为了更熟悉JavaWeb开发的整个流程,所以买了个阿里云服务 ...

  9. 【Python教程】Python快速教程

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容 ...

最新文章

  1. 【最短路】SDUT3034--炸学校
  2. Vue项目开发过程中解决跨域问题(vue.config.js结合axios)
  3. win7禁用Adnimistrator账号登录
  4. protobuf 向前兼容向后兼容
  5. 408计算机及格要什么水平,2019考研计算机408难度水平?
  6. GMP编译make check时出现FAIL t-scan
  7. String常用方法
  8. python模拟点击屏幕ios_python模拟点击可以在ios中实现吗?
  9. 资深UI设计师告诉你:交互设计师必须具备的4项能力
  10. PHPFOG提供100M免费PHP空间
  11. 模板库(七) - 字符串算法
  12. 接口报错500是什么意思_500错误原因解决办法?错误页面怎么解决?到底是什么问题?...
  13. 2022 精心整理的 C语言/C++ 语言学习宝藏,值得收藏~
  14. Qt 动画飞舞的蝴蝶源码
  15. 2018东南亚区块链创新峰会隆重召开,ETBOX团队获得高度认可
  16. 中国“计算机天才”魏延政:入职华为年薪百万,抗癌5年41岁去世
  17. 宁静、万茜等姐姐们“乘风破浪”,各品牌借势掀起新一波火热营销
  18. 【历史上的今天】3 月 6 日:Unix 版权争夺战;豆瓣网上线;谷歌推出了 Google Play
  19. 大一C语言总结贴(持更) Part1 输出菱形
  20. 如何用递归思想 求n的阶乘 C语言

热门文章

  1. OpenHarmony的多内核
  2. java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法
  3. 无网络状态下修改计算机ip,电脑突然没有网络的到底是什么原因,查看ip地址...
  4. Linux下Tcp保活时间默认多少,C/C++网络编程中的TCP保活
  5. zipkin 原理和使用
  6. hdu 2433 Travel
  7. 使用flexible适配移动端h5页面
  8. html中空格字符实体整理
  9. 翻翻git之---一个丰富的通知工具类 NotifyUtil
  10. 智慧城市需要百姓智慧