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

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

求解答

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

修改问题

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

阅读 7.6k
6 个回答

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

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

<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>

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

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

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

新手上路,请多包涵

搜索
nginx

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏