рабочий пример использования Webpy + Apache с mod_wsgi в Ubuntu - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь заставить web.py работать с Apache + mod_wsgi в Ubuntu 18.04 (который работает на экземпляре AWS EC2 и, скажем, я могу проверить веб-страницу на www.bla.com), следуя инструкциям / примеру на https://webpy.org/cookbook/mod_wsgi-apache-ubuntu

Однако некоторые из этих инструкций недостаточно ясны, и я очень признателен, если кто-то сможет ответить на следующие вопросы (даже частично). Кроме того, вы можете предоставить свой собственный полный рабочий пример, если вам будет проще.

Обратите внимание, что я сохраняю те же точные имена, которые используются в этих инструкциях, включая appname и webpy-app.

В инструкциях говорится, что после установки libapache2-mod-wsgi, ...

... it will also automatically configure Apache to load the mod_wsgi module upon restart. You can confirm the presence of the module in Apache’s available modules directory…

    /etc/apache2/mods-available/wsgi.conf
    /etc/apache2/mods-available/wsgi.load  …as well as in Apache's **enabled modules directory**:

    /etc/apache2/mods-enabled/wsgi.conf
    /etc/apache2/mods-enabled/wsgi.load  

Q1) эти файлы существуют в тех же каталогах, но код находится в / etc / apache2 / mods Файл -available / wsgi.conf закомментирован, например, на этом этапе. Нужно ли здесь что-то делать (например, вставить код внутри wsgi.conf, et c)?

Позже в инструкции говорится:

Configure a website on Apache to load the mod_wsgi module. This can either be your default website, or another Virtual Host, which you can create by copying /etc/apache2/sites-available/default to something like /etc/apache2/sites-available/my-website. Add the following lines, under the DocumentRoot directive:
  WSGIScriptAlias /appname /var/www/webpy-app/code.py/
  AddType text/html .py

Q2) это не говорит о том, как настроить веб-сайт по умолчанию на Apache для загрузки mod_wsgi. Но если предположить, что я использую другой виртуальный хост, неясно, как его создать с помощью «copying /etc/apache2/sites-available/default для чего-то вроде /etc/apache2/sites-available/my-website». Каталога default нет, поэтому файл 'default refer to 000-default.conf` (или, возможно, default.conf)?

Q3) my-website - это каталог (или, возможно, другой .conf) файл)?

Q4) Должны ли две строки (например, WSGIScriptAlias ​​...) (или, может быть, три вместе с инструкцией DocumentRoot?) Быть записаны в файл 000-default.conf?

Q5) Каким должен быть путь после DocumentRoot (должен ли он быть, например, DocumentRoot /var/www/webpy-app/)?

Следуя инструкциям, нам позже потребуется выполнить: sudo a2ensite my-website

Q6) Опять же, что здесь my-website (я не думаю, что a2ensite можно применить к каталогу)? Что если я использовал другой виртуальный хост?

Наконец, предполагая, что я использовал точно такие же code.py/var/www/webpy-app/code.py) в инструкциях, я должен проверить это в браузере, скажем, на http://www.bla.com/appname.

И, наконец,

Q7) Как мы можем знать, что мы используем сеансы mod_wsgi +?

Q8) И если мы используем сеансы, заменяет ли код в конце инструкции предыдущий полностью code.py (не касается импорта ...)?

...