【问题标题】:Run multiple web apps on the same ip在同一 IP 上运行多个 Web 应用程序
【发布时间】:2016-07-01 08:47:57
【问题描述】:

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

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

所以我可以通过在浏览器的地址行中输入 ip 地址和端口号来访问两者。据我了解,它被称为基于 IP 的虚拟主机。

【问题讨论】:

  • 这是正确的,它将起作用。我建议你看看虚拟主机的文档:httpd.apache.org/docs/current/vhosts/ip-based.html
  • 但是您可能还想考虑注册一个域。它每年只需几欧元,并允许您在该域名下使用多个主机名(有时称为“子域”)。所以像app1.example.com。这比 IP 地址和端口号的技术符号更易于使用,并且简化了防火墙配置,因为您可以在单个端口上运行所有应用程序。

标签: apache virtualhost


【解决方案1】:

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

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
希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 2023-03-25
    • 2015-07-26
    • 2012-08-15
    • 2010-09-25
    • 2020-08-12
    • 1970-01-01
    • 2012-06-28
    • 2018-04-23
    相关资源
    最近更新 更多