apache 在同一IP上运行多个Web应用程序

wtzytmuj  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(88)

让我们假设我有Apache HTTP服务器,一个ip地址,我没有任何域名。我的问题是如何在同一个ip上运行两个web应用程序,但端口不同。
例如:

  • App_1在ip_address:port_1上运行
  • App_2在ip_address:port_2上运行

所以我可以通过在浏览器的地址栏中输入IP地址和端口号来访问这两个主机。

g0czyy6m

g0czyy6m1#

在Apache/conf的httpd.conf文件中,您必须创建虚拟主机,如下所示:

Listen 80
Listen 81
<Directory />
    AllowOverride none
    Require all granted
</Directory>
<Directory /var/www>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>
<VirtualHost IPAddress:80>
    ServerName localhost:80
    WSGIScriptAlias / "C:/var/www/GP/GP/wsgi.py"
    Alias /static/ "C:/var/www/GP/static/"
    Alias /templates/ "C:/var/www/GP/templates/"
    <Directory "C:/var/www/GP/static">
        Require all granted
    </Directory>
    <Directory "C:/var/www/GP/GP">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>
<VirtualHost IPAddress:81>
    ServerName localhost:81
    WSGIScriptAlias / /var/www/adminSVNProject/adminSVNProject/wsgi.py
    Alias /static/ /var/www/adminSVNProject/static/
    Alias /templates/ /var/www/adminSVNProject/templates/
    <Directory /var/www/adminSVNProject/static>
        Require all granted
    </Directory>
    <Directory /var/www/adminSVNProject/adminSVNProject>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>
WSGIPythonPath /var/www/GP;/var/www/adminSVNProject;

如果文件位于C:var/www
希望对你有帮助。

chhkpiq4

chhkpiq42#

同样的设置对我来说。对我来说,我把nginx作为一个反向代理在两个独立的apache服务器前面。每个运行一个python/django应用程序。
我设置了每个apache服务器监听不同的端口,然后根据位置指示nginx发送到正确的应用服务器。一个应用程序在根目录(不一定是),一个在/application 2。这工作得很好,但是周期性地,应用程序2的用户会被重定向到根应用程序。我花了一些时间来追踪导致它的原因。简单的问题,简单的修复:404在应用程序2的Favicon.ico上。服务器有时会查看文件的根目录或“默认”位置,然后下一次单击,用户会重定向到根文件夹应用程序。只要favicon.ico在那里,并在base.html中定义,它就可以正常工作,无需重定向。

相关问题