0

我正在处理的应用程序有两台服务器:一个 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 文件有什么问题?

4

1 回答 1

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 永远不会被使用,您将在嵌入式模式而不是守护程序模式下运行。

于 2012-10-17T23:49:25.007 回答