У меня есть несколько приложений web2py в / opt / webapps / web2py / Applications, и мне удалось настроить их так, чтобы они обслуживались apache (httpd) и mod_wsgi, кроме того, у меня также есть приложение для телефона, которое делает httpзапросы к API-интерфейсу Flask restful, который мне также удалось настроить, используя тот же экземпляр apache и mod_wsgi.
В моем /etc/httpd/conf.d/ у меня есть OurApi.conf, который выглядит следующим образом
<VirtualHost *:80>
WSGIScriptAlias /mcr_api /var/www/OurAPi/ourapi.wsgi
<Directory /var/www/OurAPi>
AllowOverride None
Order Allow,Deny
Allow from all
<Files ourapi.wsgi>
Allow from all
Require all granted
</Files>
</Directory>
CustomLog /var/log/httpd/access_log common
ErrorLog /var/log/httpd/error_log
</VirtualHost>
ПРИМЕЧАНИЕ. Это позволяет моим Api Flask Rest
и одному default.conf, который выглядит как
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
WSGIDaemonProcess web2py user=apache group=apache
WSGIProcessGroup web2py
WSGIScriptAlias / /opt/webapps/web2py/wsgihandler.py
<Directory /opt/webapps/web2py>
AllowOverride None
Require all denied
<Files wsgihandler.py>
Require all granted
</Files>
</Directory>
AliasMatch ^/([^/]+)/static/(.*)
/opt/webapps/web2py/applications/$1/static/$2
<Directory /opt/webapps/web2py/applications/*/static>
Options -Indexes
Require all granted
</Directory>
<Location /admin>
Require all denied
</Location>
<LocationMatch ^/([^/]+)/appadmin>
Require all denied
</LocationMatch>
CustomLog /var/log/httpd/access_log common
ErrorLog /var/log/httpd/error_log
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/self_signed.cert
SSLCertificateKeyFile /etc/httpd/ssl/self_signed.key
WSGIProcessGroup web2py
WSGIScriptAlias / /opt/webapps/web2py/wsgihandler.py
<Directory /opt/webapps/web2py>
AllowOverride None
Require all denied
<Files wsgihandler.py>
Require all granted
</Files>
</Directory>
AliasMatch ^/([^/]+)/static/(.*)/opt/webapps/web2py/applications/$1/static/$2
<Directory /opt/webapps/web2py/applications/*/static>
Options -Indexes
ExpiresActive On
ExpiresDefault "access plus 1 hour"
Require all granted
</Directory>
CustomLog /var/log/httpd/access_log common
ErrorLog /var/log/httpd/error_log
</VirtualHost>
Моя проблема в том, что я хочу, чтобы мои приложения web2py работаливсякий раз, когда я делаю 0.0.0.0/web2pyAppName и когда я делаю 0.0.0.0/mcr_api / ... я должен иметь возможность получить доступ к моему API и использовать его, но я не могу сделать это одновременно с удалением OurApi.Conf или изменить порт в INT, я могу очень хорошо получить доступ к моим приложениям web2py, но когда я покидаю его, я могу получить доступ только к API, но не к приложениям web2py, и если я изменю порт в OurApi.conf, я не могу получить доступAPI на этомКонкретный порт, пожалуйста, мне нужно, чтобы это работало до того, как клиент уйдет, и я немного новичок в этом персонале конфигураций серверов. Я попытался изменить httpd.conf, добавив несколько виртуальных хостов, соответственно, как это делают многие сайты в сети, но все напрасно ИспользуюСервер CentOS7.
Интересно, есть ли способ, которым я могу запустить их одновременно и использовать один и тот же IP-адрес, но просто отклоняясь на ...: 80 / mcr_api или ..: 80 / или даже если он запущенна другой порт.
Заранее спасибо