Django + Apache - 找不到我网站的目录
Django + Apache - Can't find directory of my website
我用django框架做了一个网站。现在我正在尝试使用 apache+wsgi 进行部署。这是我的设置。
所以我有一个 ip 59.120.185.12 这是我的 .config:
<VirtualHost *:80>
ServerName www.vbgetech.com
ServerAlias vbgetech.com
ServerAdmin webmaster@localhost
Alias /media/ /home/max/v_bridge/media/
Alias /static/ /home/max/v_bridge/static/
<Directory /home/max/v_bridge/media>
Require all granted
</Directory>
<Directory /home/max/v_bridge/static>
Require all granted
</Directory>
WSGIScriptAlias / /home/max/v_bridge/v_bridge/wsgi.py
<Directory /home/max/v_bridge/v_bridge/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
这是我的 wsgi.py
"""
WSGI config for website project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
from os.path import join,dirname,abspath
PROJECT_DIR = dirname(dirname(abspath(__file__)))#3
import sys # 4
sys.path.insert(0,PROJECT_DIR) # 5
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "v_bridge.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我想我确实遵循了官方文档的所有说明。而且似乎如果我在浏览器上输入 ip,它仍然 return 我是 apache 默认页面。我想那是因为我的服务器无法将 ip 映射到 .conf 文件。有人知道吗?
您应该使用 URL http://www.vbgetech.com
访问该站点。您不一定可以使用 IP 地址。如果您使用 IP,它不会通过主机名查找与 VirtualHost
匹配,因此请求将由 Apache 配置文件中的第一个 VirtualHost
处理,换句话说默认的 [=11] =].默认 VirtualHost
将为您提供默认页面(如果您从未更改过它的话)。
换句话说,如果你添加了一个新的 VirtualHost
而没有修改默认的,那么你将不得不在 URL 中使用一个正确的主机名来匹配你的 VirtualHost
.
我用django框架做了一个网站。现在我正在尝试使用 apache+wsgi 进行部署。这是我的设置。 所以我有一个 ip 59.120.185.12 这是我的 .config:
<VirtualHost *:80>
ServerName www.vbgetech.com
ServerAlias vbgetech.com
ServerAdmin webmaster@localhost
Alias /media/ /home/max/v_bridge/media/
Alias /static/ /home/max/v_bridge/static/
<Directory /home/max/v_bridge/media>
Require all granted
</Directory>
<Directory /home/max/v_bridge/static>
Require all granted
</Directory>
WSGIScriptAlias / /home/max/v_bridge/v_bridge/wsgi.py
<Directory /home/max/v_bridge/v_bridge/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
这是我的 wsgi.py
"""
WSGI config for website project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
from os.path import join,dirname,abspath
PROJECT_DIR = dirname(dirname(abspath(__file__)))#3
import sys # 4
sys.path.insert(0,PROJECT_DIR) # 5
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "v_bridge.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我想我确实遵循了官方文档的所有说明。而且似乎如果我在浏览器上输入 ip,它仍然 return 我是 apache 默认页面。我想那是因为我的服务器无法将 ip 映射到 .conf 文件。有人知道吗?
您应该使用 URL http://www.vbgetech.com
访问该站点。您不一定可以使用 IP 地址。如果您使用 IP,它不会通过主机名查找与 VirtualHost
匹配,因此请求将由 Apache 配置文件中的第一个 VirtualHost
处理,换句话说默认的 [=11] =].默认 VirtualHost
将为您提供默认页面(如果您从未更改过它的话)。
换句话说,如果你添加了一个新的 VirtualHost
而没有修改默认的,那么你将不得不在 URL 中使用一个正确的主机名来匹配你的 VirtualHost
.