Как установить сервер дома с помощью django & postgre - PullRequest
1 голос
/ 11 октября 2019

Пожалуйста, помогите мне установить мой домашний компьютер в качестве сервера (Windows 10 + Python + Django + Postgre SQL + Anaconda)

Есть несколько инструкций о том, как настроить сервер в Интернете, и, что удивительно,многие инструкции отличаются друг от друга. У меня нет абсолютно никакого опыта в настройке сервера. Возможно, я где-то совершаю глупую ошибку, которую не могу определить 3 дня. Я потерян. Я считаю, что наиболее полезные инструкции это (они полные и новые): https://www.codementor.io/aswinmurugesh/deploying-a-django-application-in-windows-with-apache-and-mod_wsgi-uhl2xq09e https://ostrokach.gitlab.io/post/apache-django-anaconda/

Я следовал инструкциям и успешно загрузил необходимые модули, установил Wamp, внес изменения, как показанов путеводителе и запустили его. Что я вижу сейчас: значок Wamp светится зеленым. Когда я загружаю localhost, страница загружается бесконечно, но не загружается.

Журнал ошибок Wamp показывает следующее: [Пт, 11 октября 14: 50: 33.823752 2019] [core: note] [pid 1364:tid 808] AH00094: Командная строка: 'c: \ wamp64 \ bin \ apache \ apache2.4.39 \ bin \ httpd.exe -d C: /wamp64/bin/apache/apache2.4.39' [Пт, 11 октября 14:50:33.840681 2019] [mpm_winnt: примечание] [pid 1364: tid 808] AH00418: родитель: создан дочерний процесс 15052 [пт. 11 октября 14: 50: 34.981629 2019] [mpm_winnt: уведомление] [pid 15052: tid 800] AH00354: ребенок:Запуск 64 рабочих потоков.

  • Имя проекта: turiumasina
  • путь D: / Users / PycharmProjects / turiumasina /
  • путь к wsgi:D: /Users/PycharmProjects/turiumasina/turiumasina/wsgi_windows.py (я переименовал wsgi в wsgi_windows, файл настроек находится в turiumasina / turiumasina /)

    1. Я скопировал вывод, сгенерированный mod_wsgi-express и вставил его в конец C: \ wamp64 \ bin \ apache \ apache \ conf \ httpd.conf

    2. my httpd-vhosts.conf

ServerName localhost WSGIPassAuthorization On ErrorLog "logs / turiumasina.error.log" Журналы CustomLog "/ turiumasina.access.log", объединенные WSGIScriptAlias ​​/"D: /Users/PycharmProjects/turiumasina/turiumasina/wsgi_windows.py"

<Directory "D:/Users/PycharmProjects/turiumasina">
    <Files wsgi_windows.py>
        Require all granted
    </Files>
</Directory>

Alias /static "D:/Users/PycharmProjects/turiumasina/static"
<Directory "D:/Users/PycharmProjects/turiumasina/static">
    Require all granted
</Directory>  

wsgi_windows.py

import os
import sys
import site
from django.core.wsgi import get_wsgi_application


site.addsitedir("C:/users/.conda/envs/turiumasina/Lib/site-packages")


sys.path.append('D:/Users/PycharmProjects/turiumasina')

sys.path.append('D:/Users/PycharmProjects/turiumasina/turiumasina')

os.environ['DJANGO_SETTINGS_MODULE'] = 'turiumasina.settings'
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "turiumasina.settings")

application = get_wsgi_application()

Я сгенерировал «статическую» папку, написал строку в settings.py:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Если я введу python manage.py runserver через pycharm, я смогу увидеть свой сайт через браузер (http://127.0.0.1:8000/). значок Wamp горит зеленым. Когда я загружаю localhost, страницазагружается бесконечно, но не загружается.

Я бы хотел, чтобы мой сайт был виден не только мне, но и пользователям Интернета, введя мой внешний IP-адрес.

Если вам нужно, я могу отправитьвам весь проект и настройки проекта

1 Ответ

0 голосов
/ 11 октября 2019

Я бы вообще избавился от WAMP, я не понимаю, зачем вам это нужно, если вы не используете PHP или MySql.

Если вам просто нужно воспроизвести / отладить приложение Django поверх локальногосеть просто запустите ./manage.py runserver 0.0.0.0:8000 (или любой другой порт). Убедитесь, что ваш брандмауэр Windows разрешает входящие подключения к порту.

Для подключения к нему вам необходим фактический IP-адрес компьютера, а не «0.0.0.0:8000». Введите «ipconfig» в командной строке, чтобы увидеть, какой у вас IP-адрес, а затем подключитесь к Your_actual_IP: 8000

Если вам нужно что-то более надежное, чем встроенный сервер Django (для работы в режиме без отладки)тогда вы можете установить официантку (https://docs.pylonsproject.org/projects/waitress/en/latest/).

...