Это мое первое развертывание на сервере, и у меня возникли проблемы с тем, чтобы заставить его работать с apache. Когда я запускал runserver manage.py, он работал на локальном хосте, однако при попытке запустить его с apache путем связывания wsgi.py у меня возникли проблемы, так как после всего, что я пробовал, он остается на apache2 по умолчанию " Это работает ».
Для справки: www.shangar.site:8080 Я проверил, работает ли он, используя мой телефон и данные, я также попросил своего друга проверить, и он сказал, что также видит только страницу.
Вот уроки, которым я следовал: https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16-04
https://www.youtube.com/watch?v=Xjdv31k-Kf4&t=3560s
Вот мой 000-default.conf:
<VirtualHost *:80>
ServerName www.shangar.site
ServerAlias www.shangar.site
ServerAdmin sharanshangar@gmail.com
DocumentRoot /home/shangar21/learn_django/learn_django
Alias /static /home/shangar21/learn_django/static
<Directory /home/shangar21/learn_django/static>
Require all granted
</Directory>
<Directory /home/shangar21/learn_django/learn_django>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-home=/home/shangar21/learn_django/myprojectenv python-path=/home/shangar21/learn_django/
WSGIProcessGroup learn_django
WSGIScriptAlias / /home/shangar21/learn_django/learn_django/wsgi.py
</VirtualHost>
Я также внес в белый список путь к проекту в apache2.conf, поскольку на странице по умолчанию говорилось:
По умолчанию Ubuntu не разрешает доступ через веб-браузер к каким-либо файлам, кроме тех, что находятся в каталогах / var / www, public_html (если он включен) и / usr / share (для веб-приложений). Если ваш сайт использует корень веб-документа, расположенный в другом месте (например, в / srv), вам может потребоваться внести в белый список корневой каталог документов в /etc/apache2/apache2.conf.
Вот как я это сделал:
<Directory /home/shangar21/learn_django>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
поскольку / srv / и / var / www были инициализированы таким же образом.
Я не менял /var/www/index.html, поскольку, насколько я понимаю, это просто страница по умолчанию, когда приложение не работает.
Если вы чувствуете, что я что-то пропустил, спросите, потому что это для меня в новинку.
Вот репозиторий на случай, если вы захотите посмотреть код. Я добавил общедоступный IP-адрес, а также домен в раздел разрешенных хостов в settings.py. Я также добавил локальный IP-адрес.
https://github.com/shangar21/learn_django
И я спрашиваю здесь, поскольку большинство ресурсов, которые я нахожу, похоже, не решают проблему.
Спасибо