Попытка разместить мое приложение веб-службы, используя Apache + mod_wsgi + Bottle.Я настроил свою виртуальную машину для обслуживания своего веб-сервиса в соответствии с шагами, указанными ниже.Я настроил виртуальный хост в Apache.Но если не получается, пожалуйста, дайте мне знать, какую часть я пропускаю?
Я установил сервер Apache Lounge с https://www.apachelounge.com/download/, используя команду
cd C:\Apache24\bin
httpd.exe -k install
Вышеуказанные командыустановил службу windows на моем компьютере
Далее я добавил следующую конфигурацию mod_wsgi в файл httpd.conf внутри C:\Apache24\conf\httpd.conf
LoadFile "c:/users/appdata/local/continuum/anaconda3/python36.dll"
LoadModule wsgi_module "c:/users//appdata/local/continuum/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/users/appdata/local/continuum/anaconda3"
Также в httpd.conf я включил виртуальныйхосты, раскомментировав следующий код и изменив номер порта на 9091
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Далее я настроил виртуальный хост с конфигурацией, указанной ниже, с номером порта 9567
<VirtualHost *:9567>
ServerName localhost
WSGIScriptAlias / "D:/Projects/WS/WebService/app.wsgi"
DocumentRoot "D:/Projects/WS/WebService"
<Directory "D:/Projects/WS/WebService">
</Directory>
ErrorLog "D:/Projects/WS/WebService/Log/error.log"
CustomLog "D:/Projects/WS/WebService/Log/access.log" common
</VirtualHost>
А теперьчтобы проверить, я пошел в командную строку и запустил httpd.exe
из C:\Apache24\bin\httpd.exe
(после команды ничего не отображается)
У меня есть проверка locolhost: 9091 ----> отображается сообщение о работе
И я хочу протестировать веб-сервис Итак, я создал файл
*D:\Projects\WS\WebService\hello_world.py*
from bottle import route, run
@route('/hello')
def hello():
return "Hello World!"
*D:\Projects\WS\WebService\app.wsgi*
import sys, os
# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))
sys.path.append(os.path.dirname(__file__))
# ... build or import your bottle application here ...
# Do NOT use bottle.run() with mod_wsgi
import bottle
from rs import app as application
from bottle import route
import hello_world
application=bottle.default_app()
Но теперь проблема, когда я пытаюсь localhost: 9567 / hello -------> Сайт не может бытьдостиг
ВТОРОЙПОПРОБУЙТЕ:
Я установил mod_wsgi с помощью pip, добавил конфигурацию mod_wsgi в httpd.conf и добавил следующий conf к C:\Apache24\conf\extra\httpd-vhosts.conf
ServerName localhost
WSGIDaemonProcess WebService user=www-data group=www-data processes=1 threads=5
WSGIScriptAlias / "D:/Projects/WS/decision-support/WebService/app.wsgi"
DocumentRoot ""D:/Projects/WS/decision-support/WebService"
<Directory "D:/Projects/WS/decision-support/WebService">
WSGIProcessGroup WebService
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog "D:/Projects/WS/decision-support/WebService/Log/error.log"
CustomLog "D:/Projects/WS/decision-support/WebService/Log/access.log" common
И запустите httpd.exe для проверки конфигурации, ошибка выглядит следующим образом
AH00526: Syntax error on line 43 of C:/Apache24/conf/extra/httpd-vhosts.conf:
Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a module not included in the server configuration
Может кто-нибудь помочь мне, что за конф, который я пропускаю?