0

我正在尝试从头开始部署网站变得更好,所以我使用最新的 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()
4

1 回答 1

0

我从来没有用 Apache 解决过这个问题,但我确实使用 Nginx 和 Uwsgi 成功部署了这个博客,只是要小心你的虚拟环境一旦完成的路径我意识到这是我遇到 apache 的问题。

于 2019-11-03T17:28:55.917 回答