代码之家  ›  专栏  ›  技术社区  ›  danielc

Wildfly、Tomcat、Apache和子域

  •  0
  • danielc  · 技术社区  · 7 年前

    我在AWS中有一个Ubuntu服务器,它运行多个应用程序服务器——一个Wildfly提供一些页面,两个Tomcat运行一个单独的应用程序。

    我正在努力使子域工作。

    我已将DNS设置为指向子域1。实例com,子域2。实例com。这很好用。

    Wildfly正在监听端口80(我想是吧?),Tomcat正在收听8080和8090。目标是拥有www.example。com转到Wildfly,子域1。实例com转到Tomcat:8080和subdomain2。实例com转到Tomcat:8090

    我发现了许多关于在Apache中设置虚拟主机的帖子,这些帖子应该可以解决我的问题。但我一直被送到兔子洞里。一些人建议添加到 /opt/bitnami/apache2/bin/httpd.config 有人建议把它放进去 /opt/bitnami/apache2/sites-available/subdomain1.example.com.conf

    我的第一个问题:我甚至不认为Apache正在运行。我当时的印象是,Apache被烤成了Wildfly,但当我执行时:

    service apache2 status
    

    我得到:

    apache2.service 已加载:未找到(原因:没有此类文件或目录) 活动:非活动(死)

    跑步 sudo service --status-all 也没有显示它正在运行,所以我认为它不是。它似乎安装在(Bitnami stack)中 /opt/bitnami/apache2

    我是否必须将Apache作为Wildfly的一部分打开(以及如何打开)?如果我这样做了,那么我会假设Wildfly不再有流量了。

    其次,我的研究告诉我,我需要 proxy proxy_http 使用 a2enmod a2ensite 但我没有这些。研究表明,所有Ubuntu都会有这些脚本。。。如果我打开Apache,它们会被创建吗?

    对不起,所有的noob问题。。。。我是一个没有DevOps的开发人员。这似乎是如此普遍,它会被烘烤,或者会有一个明确的解决方案,我可能错过了。

    1 回复  |  直到 7 年前
        1
  •  1
  •   danielc    7 年前

    对于那些寻找类似产品的人,这里有一个对我有效的解决方案。

    我的服务器是AWS上的Wildfly-Apache2-MySQL AMI映像。我不需要像我的研究建议的那样使用a2enmod或a2ensite。这些模块中的许多似乎已经通过预构建的映像启用了。

    注意:这些说明是特定于BITNAMI AWI的-您的口味配置可能略有不同

    要使子域指向简单的Apache文本站点(yada.example.com),请执行以下操作:

    • 在~/stack/apache2/htdocs中创建一个名为yada的目录
    • 向虚拟主机配置文件添加条目( sudo nano /opt/bitnami/apache2/conf/extra/httpd-vhosts.conf )

    <VirtualHost *:80>
        ServerAdmin info@example.com
        DocumentRoot "/opt/bitnami/apache2/htdocs/yada"
        ServerName yada.example.com
        ErrorLog "logs/yada-subdomain-error-log"
        CustomLog "logs/yada-subdomain-access-log" common
    </VirtualHost>
    • 修改Apache配置文件以包含虚拟主机。( sudo nano /opt/bitnami/apache2/conf/httpd.conf ):

    ...snip...
    
    # Supplemental configuration
    #
    # The configuration files in the conf/extra/ directory can be
    # included to add extra features or to modify the default configuration of
    # the server, or you may simply copy their contents here and change as
    # necessary.
     
    ...snip...
     
    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    
    # ADDED THE ABOVE LINE
    
    ...snip...
    • 重新启动Apache( sudo /opt/bitnami/ctlscript.sh restart apache )

    要使其指向Tomcat服务器,请将其添加到 httpd-vhosts.conf :

    <VirtualHost *:80>
        ServerAdmin info@example.com
        ServerName yada.example.com
        ProxyPreserveHost On
     
     
        # setup the proxy
        <Proxy *>
            Order allow,deny
            Allow from all
        </Proxy>
        ProxyPass / http://localhost:8090/
        ProxyPassReverse / http://localhost:8090/
    </VirtualHost>

    您的端口可能不同。

    仅供参考,我发现这很有帮助: https://docs.bitnami.com/virtual-machine/components/apache/#how-to-configure-your-web-application-to-use-a-virtual-host

    祝你好运,向@stdunbar大声呼喊,寻求他的指导。