首页 > 同一台服务器运行多个http服务如何实现?

同一台服务器运行多个http服务如何实现?

1、默认环境apache,监听80端口,用来服务php环境。
例如访问www.abc.com时,访问php目录
2、tomcat和子域名解析应该如何配置,使访问子域名时访问java web 目录
例如访问example.abc.com时,访问java web目录。

求解答

重点声明java和php分别要用tomcat和apache分别来解析,不是apache下配置虚拟目录和域名可以解决的

修改问题

既然大家都回答用反向代理,那么求具体反向代理的实现方法,最通用的是哪一种?


绑定不同域名啊,然后转发

<VirtualHost 127.0.0.1>
    DocumentRoot "D:/web/www"
    ServerName www.test.com
    <Directory "D:/web/www">
        Options FollowSymLinks Indexes
        AllowOverride All
        Order deny,allow
        Allow from 127.0.0.1
        Deny from all
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost 127.0.0.1>
    DocumentRoot "D:/web/weiphp3.0_beta/weiphp"
    ServerName www.wei.com
    <Directory "D:/web/weiphp3.0_beta/weiphp">
        Options FollowSymLinks Indexes
        AllowOverride All
        Order deny,allow
        Allow from 127.0.0.1
        Deny from all
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost 127.0.0.1>
    DocumentRoot "D:/web/wx2share"
    ServerName www.tbgo.com
    <Directory "D:/web/wx2share">
        Options FollowSymLinks Indexes
        AllowOverride All
        Order deny,allow
        Allow from 127.0.0.1
        Deny from all
        Require all granted
    </Directory>
</VirtualHost>

搭建一个nginx 反向代理,代理的端口是80, 不同的服务的请求通过代理配置进行转发到对应的真正的非80端口的服务上去


因为两个程序不能同时监听80端口,所以你直接开启两个程序是行不通的。解决方法其实很简单:只让一个程序监听80端口。
在你这种Apache和Tomcat的搭配下,可以把网站都挂在Apache下,对于需要使用Java的网站,通过Apache反向代理到Tomcat上,这样Tomcat就能不占用80端口,而外部访问者看了,也能正常访问所有的网站。
详细的方法你可以查阅一些Apache反向代理Tomcat的技术文档。


运行多个http服务是什么意思呢?多个服务器吗


搜索
nginx


用apache代理转发是最简单的方式。
长远来看最标准的是再搭建一个服务器来做路由,也就是长说的企业服务总线esb。

【热门文章】
【热门文章】