Я пытаюсь стать лучше с развертыванием веб-сайта с нуля, поэтому я устанавливаю новый Nanode от Linode, используя последнюю версию Ubuntu (я думаю, 19.04).
Я следовал инструкциям по установке Mezzanine CMS (на основе Django), и все прошло нормально, я смог запустить сервер разработки, чтобы протестировать веб-сайт на порту 8000.
Я установил UFW, и сейчас не отклоняется только активность на порту 80. Также у меня есть база данных mysql, работающая с Mezzanine, а не с Djangos по умолчанию SQLlite.
Я установил Apache и WSGI. Сначала Apache не перезагружался из-за какой-то проблемы с конфигурацией, которую, я думаю, я с тех пор решил.
У меня есть домен alexmerced, который находится на godaddy, но у меня есть записи DNS «a», которые указывают на мой IP-адрес linodes «mezz.alexmerced.com».
Mezzanine все еще является новой установкой, поэтому я ничего не менял, кроме WSGI и settings.py.
В настоящее время я получаю запрещенную ошибку при вводе URL-адреса или IP-адреса, права доступа к каталогу приложения - 755.
ниже приведены мои настройки файла конфигурации, чтобы увидеть, не допустил ли я каких-либо ошибок.
django_project.conf (единственный файл conf, включенный в каталоге /sites-available/
<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()