如何在没有域名的情况下将django webapp部署到apache2服务器上
这是我的 .conf 文件
<VirtualHost *:80>
WSGIScriptAlias / /home/ubuntu/firstweb.wsgi
ServerName ec2-66-***-52-61.compute-1.amazonaws.com
Alias /static /var/www/firstweb/static/
<Directory /var/www/firstweb/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
通常在网上的教程里,他们会让我把 ServerName 设置为我购买的域名,但我想让我的 Django 应用在服务器的本地环境上运行。比如说,当我在浏览器里输入服务器的 IP 地址或者我上面提到的 EC2 地址时,我希望我的 Django 应用能显示出来。
但现在我的配置有问题,我遇到了 403 错误,提示我没有权限访问 /
通常我用默认的 Python 服务器部署 Django 时,只需要这样做,
> python manage.py runserver ec2-66-***-52-61.compute-1.amazonaws.com:80
然后当我在浏览器里打开 ec2-66-*-52-61.compute-1.amazonaws.com 时,我的应用就能显示出来。基本上,我想用 apache2 来实现同样的效果。
我还没有域名,我只想在我的电脑上输入公共 IP 或者 EC2 地址,我的 Django 应用就能显示出来。我该怎么办?
1 个回答
0
我之前也遇到过这种情况,我通常会给网站起个“假”的名字,然后把这个名字放到我正在浏览的机器的hosts文件里。
.conf(在服务器上)
<VirtualHost *:80>
ServerName mysite.dev
.
.
.
</VirtualHost>
hosts(在你浏览网站的机器上)
mysite.dev <IP address of the server>
这个hosts条目在Windows机器上可以用,但在Linux或Mac上你需要调换顺序:
<IP address of server> mysite.dev
在Windows机器上,你可以在 %SYSTEM32%\etc\drivers\hosts 找到hosts文件(这个文件在Windows、Linux或Mac上都没有扩展名)
在Linux或Mac上,它的位置是 /etc/hosts,你需要有管理员权限或者使用sudo才能编辑它。