我正在尝试从头开始部署网站变得更好,所以我使用最新的 Ubuntu(我认为是 19.04)从 Linode 设置了一个新的 Nanode。
我按照说明安装了 Mezzanine CMS(基于 Django),一切顺利,我能够运行开发服务器在端口 8000 上测试网站是否正常。
我确实安装了 UFW,现在只有端口 80 上的活动没有被拒绝。另外,我有使用 Mezzanine 运行的 mysql 数据库,而不是 Django 的默认 SQLlite。
我安装了 Apache 和 WSGI。起初 Apache 不会重新启动,因为我认为我已经解决了一些配置问题。
我有一个在godaddy上的域alexmerced,但我有一个DNS“a”记录指向我的linodes IP地址“mezz.alexmerced.com”
Mezzanine 仍然是全新安装,所以除了 WSGI 和 settings.py 之外,我并没有真正改变任何东西。
我目前输入 URL 或 IP 地址时出现禁止错误,应用程序目录的权限为 755。
下面是我的配置文件设置,看看我是否犯了任何错误。
django_project.conf(在 /sites-available/ 目录中启用的唯一 conf 文件
<VirtualHost *:80>
ServerName mezz.alexmerced.com
ServerAdmin mezzanine@localhost
DocumentRoot /mymezz
WSGIScriptAlias / /mymezz/mymezz/wsgi.py
Alias /static /mymezz/static/
<Directory /mymezz/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
这是 wsgi.py 文件
"""
WSGI config for mymezz 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.11/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
from mezzanine.utils.conf import real_project_name
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"%s.settings" % real_project_name("mymezz"))
application = get_wsgi_application()
我阅读的其他内容要求我将以下内容添加到我的 settings.py
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.join(PROJECT_ROOT, ".."))
settings_module = "%s.settings" % PROJECT_ROOT.split(os.sep)[-1]
os.environ["DJANGO_SETTINGS_MODULE"] = settings_module
和
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()