Введение
У меня есть веб-API, написанный в python 3, и в нем используется колба. Код работает нормально, когда я запускаю веб-API с терминала, и он размещается из следующей строки в коде.Как установить mod_wsgi в виртуальном окружении
if __name__ == '__main__':
app.run(host='', port=8010, debug='true')
Текущая ситуация
код работает отлично, и я хочу, чтобы установить его на Apache Server. Однако на сервере Apache уже есть веб-сайты, которые были созданы с использованием python 2 и нуждаются в mod_wsgi для python 2.
Я посмотрел, был ли способ настроить как mod-wsgi на сервере apache, но в соответствии со следующим источником: может не mod_wsgi for Python 2 as well as Python 3 on one Apache server
Попытка решения
Я пытаюсь установить моды-WSGI в виртуальную среду. Я загрузил пакет и попытался установить его в среду после его активации.
Я побежал sudo python setup.py install
от терминала, но я получил ошибку ниже
File "setup.py", line 139, in 'missing Apache httpd server packages.' % APXS) RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
Так я открыл Read Me файла, который был частью архивного пакета и обнаружил следующее
If you wish to use a version of Apache which is installed into a non standard location, you can set and export the
APXS
environment variable to the location of the Apacheapxs
script for your Apache installation before performing the installation.Note that nothing will be copied into your Apache installation at this point. As a result, you do not need to run this as the root user unless installing it into a site wide Python installation rather than a Python virtual environment.
To verify that the installation was successful, run the
mod_wsgi-express
script with thestart-server
command::mod_wsgi-express start-server
кажется, решайте мою ситуацию, так как Apache не установлен в виртуальной среде, из которой я запускаю команду, но я понятия не имею, как это сделать.
I presu я говорю о файле setup.py и что я должен изменить путь, но я не знаю, как это сделать синтаксически, или где находится мой APXS-скрипт.
Вот фрагмент кода, который я думаю, должен быть изменен
APXS = os.environ.get('APXS')
WITH_HTTPD_PACKAGE = False
if APXS is None:
APXS = find_program(['mod_wsgi-apxs'],
paths=[os.path.dirname(sys.executable)])
if APXS is not None:
WITH_HTTPD_PACKAGE = True
if APXS is None:
APXS = find_program(['mod_wsgi-apxs', 'apxs2', 'apxs'],
'apxs', ['/usr/sbin', os.getcwd()])
elif not os.path.isabs(APXS):
APXS = find_program([APXS], APXS, ['/usr/sbin', os.getcwd()])
if not WITH_TARBALL_PACKAGE:
if not os.path.isabs(APXS) or not os.access(APXS, os.X_OK):
raise RuntimeError('The %r command appears not to be installed or '
'is not executable. Please check the list of prerequisites '
'in the documentation for this package and install any '
'missing Apache httpd server packages.' % APXS)
Вопрос
Я делаю все это на сервере под управлением Ubuntu 12.04LTS, если это помогает. Мой вопрос в конце является следующими
- Где APXS, расположенные обычно в Ubuntu
- Как изменить фрагмент кода, чтобы сделать используйте APXS сценария там
Спасибо так много для Ваше время
Извините за недоразумение получается APXS не был установлен на моем APACHE –