我正在处理的应用程序有两台服务器:一台APi和另一台App。两者都是使用金字塔创建的,计划是将它们放在至少两台独立的机器上。
但对于我的笔记本电脑,我希望能够将api.localhost映射到api服务器,并将app.localhost映射到应用服务器
我做了以下事情:
这是我的httpd.conf文件:
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
WSGIDaemonProcess pyramid user=ranjith group=staff processes=1 \
threads=4 \
python-path=/home/ranjith/VENV/lib/python2.7/site-packages
<VirtualHost *:80>
ServerName app.localhost
WSGIScriptAlias / /home/ranjith/workspace/app.wsgi
</VirtualHost>
<VirtualHost *:80>
ServerName api.localhost
WSGIScriptAlias / /home/ranjith/workspace/api.wsgi
</VirtualHost>
<Directory /home/ranjith/VENV>
WSGIProcessGroup pyramid
Order allow,deny
Allow from all
</Directory>
我在/ etc / hosts
中添加了这些条目127.0.0.1 api.localhost
127.0.0.1 app.localhost
为服务器添加了两个WSGI文件。它们在开发服务器上工作时工作
但我真的不知道如何配置localhost子域,我对WSGI没有任何实际知识。
我做了sudo service apache2 restart
它说:
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
我认为这不是错误信息。
当我输入http://app.localhost时,由于收到404错误,我无法访问该应用
现在我的httpd.conf文件出了什么问题?
答案 0 :(得分:0)
然后不要使用子域。请改用“api-localhost”和“app-localhost”。
单独指出:
<Directory /home/ranjith/VENV>
WSGIProcessGroup pyramid
Order allow,deny
Allow from all
</Directory>
错了。应该是:
<Directory /home/ranjith/workspace>
WSGIProcessGroup pyramid
Order allow,deny
Allow from all
</Directory>
否则永远不会使用WSGIProcessGroup,您将以嵌入模式而不是守护进程模式运行。