如何在Amazon EC2托pipe中设置Django网站?

有人可以给出具体的步骤,如何使用亚马逊EC2托pipe服务实现托pipe一个基于Django的网站?

那可能吗?

我的网站源代码可以在这里find

我goolged,发现这篇文章

但在做任何事情之前,我只想得到关于Amazon EC2托pipe的一些基本想法。

这当然是可能的,但听起来EC2并不是你最好的select。 对于这样做的人的例子,google为“django ec2”并且检查出第一和第二个链接。 像这样或这样的链接(编辑,因为这个问题现在是该查询的顶部谷歌结果!)

简单来说,EC2只是一个服务器,你可以按小时租用。 你可以让它运行Windows或Linux,然后像平常一样安装python和django。 事实上,可能有一个Django已经预先configuration的图像。 你的项目在哪个阶段? 只是研究,或者你有Django或ec2卡住了一个特定的问题?

更新:好吧,我想你是困惑的是,有所有不同types的托pipe在那里。 在一个极端,你可以支付自己的物理服务器,安装自己的操作系统(如Windows或Linux),安装自己的Python,你自己的Web服务器,如Apache或IIS,你自己的Django库,自己的数据库MySQL)等,然后上传你的网站。 在另一个极端,你可以在一个共享的托pipe服务上支付一个帐户,其他人已经完成了操作系统,Python,Web服务器等的所有设置,而你所需要做的就是上传你的网站代码。 EC2更接近第一个极端,可能是为你矫枉过正。 我认为在你的情况下,你应该寻找一个更可pipe理的解决scheme。
我会看看这个网页,其中列出了一堆不同的Django托pipe公司: Django托pipe

如果您不想处理从头开始设置服务器,另一个select是使用BitNami Django Stack亚马逊图像 。 我是一名BitNami开发人员,致力于为多个Python应用程序创build堆栈。 BitNami Django Stack已经包含了MySQL 5.1,Apache 2.2(带有mod_wsgi)和带有MarkDown,html5lib和python-openid的Python。 它还包括Django 1.3。

您将需要安装Django Debug Toolbar,创build数据库并将文件复制到/ opt / bitnami / apps / django / django_projects中,然后运行python manage.py命令。 之后,你将需要configurationApache来服务你的项目,如果你想在生产(而不是Django服务器)使用。

在尝试直接在云中部署应用程序之前,您可以使用本机安装程序并在本地计算机上testing部署。

我们也有一个成本估算工具 。 这仅仅是一个简单的EC2 / EBS设置的一个粗略的想法,亚马逊并不总是像你所期望的那样昂贵,虽然这取决于很多因素。 (虽然根据你的意见,似乎你已经看了一下费用)。

假设你在你的实例上使用的是Apache服务器,Django站点上的官方指令比许多博客文章更好。 以下是我从链接中复制的内容: https : //docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/

编辑并将下面的代码添加到/etc/apache2/apache2.conf可以解决问题。

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory> 

我在AWS EC2 t2.micro实例(AWS免费层)上托pipe了我自己的django网站。 我用这个项目和MySQL作为数据库使用Django 1.9。 使SSH隧道到您的实例,并按照下列步骤:

  1. 在你的实例上安装apache2和libapache2-mod-wsgi:

    sudo apt-get install apache2 libapache2-mod-wsgi

  2. 在你的实例上安装django:

    sudo pip install django

  3. 安装mysql:

    sudo apt-get install mysqldb

    sudo pip install mysql-python

    sudo apt-get install libmysqlclient-dev

(如果你没有安装pip: sudo apt-get install python-pip

  1. 为你的django项目configurationmysql。 将您的django项目导入到/var/www/html 。 (使用git是最好的方法)。

  2. 编辑/etc/apache2/sites-available/000-default.conf

     <VirtualHost *:80> Alias /static /path_to_my_static_folder <Directory /path_to_my_project_folder_containing_wsgi.py> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess project_name python-path=/path_to/lib/python2.7/site-packages WSGIProcessGroup project_name WSGIScriptAlias / /path_to_wsgi.py </VirtualHost> 
  3. 运行迁移到同步数据库:

    python manage.py migrate

  4. 重新启动apache2:

    sudo service apache2 reload

我希望你没有在settings.py中硬编码你的模板和静态path,如果是,那么把它改成dynamicpath,否则相应地编辑它。

而已! 访问您的公共IP或DNS以访问您在AWS EC2实例上托pipe的Django网站。

如果您有任何错误,请在下面评论。