我们正在启动一个新的项目,使用 Django 开发一个网站。我们在 Google 代码上创建了一个项目。我们希望能够偶尔向一些人展示网站的进度,而无需购买真正的服务器。我们都是通过 Eclipse 和 SVN 修改项目的。什么办法可以创建一个 runserver 类型的东西,但允许他人暂时通过互联网访问?
2、解决方案
有几种方法可以实现这一点:
方法一:使用 Google App Engine
Google App Engine (GAE) 是 Google 提供的云计算平台,它允许您在 Google 的基础设施上部署和运行您的应用程序。GAE 提供了免费的层级,您可以使用它来托管您的 Django 项目。
要使用 GAE,您需要创建一个 GAE 项目,然后将您的 Django 项目部署到该项目中。GAE 将为您提供一个公共的 URL,您可以使用它来访问您的网站。
# 在您的 Django 项目中,运行以下命令:
gcloud app create
# 这将创建一个新的 GAE 项目。
# 接下来,您需要将您的 Django 项目部署到您的 GAE 项目中。为此,运行以下命令:
gcloud app deploy
# 这将把您的 Django 项目部署到您的 GAE 项目中。
# 一旦您的项目被部署,您就可以使用以下 URL 访问它:
https://your-project-id.appspot.com
方法二:使用 Amazon Web Services (AWS)
AWS 是亚马逊提供的云计算平台,它提供了一系列服务,包括虚拟机、存储和数据库。您可以使用 AWS 来托管您的 Django 项目。
要使用 AWS,您需要创建一个 AWS 账户,然后创建一个 EC2 实例。EC2 实例是一个虚拟机,您可以在其中安装和运行您的 Django 项目。
# 在您的 Django 项目中,运行以下命令:
pip install awscli
# 这将安装 AWS CLI 工具。
# 接下来,您需要创建一张 S3 存储桶。S3 存储桶是一个对象存储服务,您可以将您的 Django 项目文件存储在其中。为此,运行以下命令:
aws s3api create-bucket --bucket your-bucket-name
# 这将创建一个名为 your-bucket-name 的 S3 存储桶。
# 接下来,您需要启动一个 EC2 实例。为此,运行以下命令:
aws ec2 run-instances --image-id ami-id --instance-type t2.micro --key-name your-key-name
# 这将启动一个 t2.micro 实例,并使用 your-key-name 密钥对进行 SSH 访问。
# 一旦您的实例启动,您可以使用以下命令 SSH 登录到它:
ssh -i your-key-name.pem ubuntu@your-instance-public-ip
# 这将使用 your-key-name.pem 密钥对以 ubuntu 用户身份登录到您的实例。
# 登录到您的实例后,您可以运行以下命令来安装 Django:
sudo apt-get update
sudo apt-get install python3-django
# 这将安装 Django。
# 一旦您安装了 Django,您就可以将您的 Django 项目复制到您的实例中。为此,运行以下命令:
scp -i your-key-name.pem django_project.zip ubuntu@your-instance-public-ip:/tmp
# 这将把 django_project.zip 文件复制到您的实例上的 /tmp 目录。
# 接下来,您需要解压缩 django_project.zip 文件。为此,运行以下命令:
cd /tmp
unzip django_project.zip
# 这将解压缩 django_project.zip 文件,并将文件提取到当前目录。
# 接下来,您需要将您的 Django 项目移动到您的实例上的正确位置。为此,运行以下命令:
sudo mv django_project /var/www/html
# 这将把 django_project 目录移动到 /var/www/html 目录。
# 接下来,您需要配置您的 Django 项目。为此,编辑 /var/www/html/django_project/settings.py 文件,并更新 DATABASES 设置。确保将 DATABASES['default'] 设置为以下内容:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'localhost', 'PORT': '5432', 'USER': 'postgres', 'PASSWORD': 'postgres', 'NAME': 'postgres', } }
一旦您更新了 DATABASES 设置,您就可以运行以下命令来创建数据库:
sudo -u postgres createdb -E UTF-8 postgres
这将创建一个名为 postgres 的数据库。
接下来,您需要运行以下命令来创建数据库用户:
sudo -u postgres createuser -s django
这将创建一个名为 django 的数据库用户。
接下来,您需要运行以下命令来授予 django 用户对 postgres 数据库的访问权限:
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE postgres TO django;"
这将授予 django 用户对 postgres 数据库的所有权限。
接下来,您需要运行以下命令来应用 Django 迁移:
cd /var/www/html/django_project python3 manage.py migrate
这将应用 Django 迁移。
一旦您应用了 Django 迁移,您就可以运行以下命令来启动 Django 开发服务器:
python3 manage.py runserver 0.0.0.0:8000
这将启动 Django 开发服务器,并使其在 0.0.0.0:8000 上可用。
现在,您就可以使用以下 URL 访问您的网站:
http://your-instance-public-ip:8000