Ubuntu下、Apache 和Tomcat 共用80端口

本文详细介绍了如何通过Apache和Tomcat的配置,实现同一域名下通过HTTP://127.0.0.1访问前端,通过HTTP://127.0.0.1/admin访问后台管理系统,避免了在浏览器地址栏中输入端口号的繁琐操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      最近公司准备做一个内容管理系统,由于各种原因,网站前台采用PHP语言开发,网站后台管理系统采用Java来开发,面对这样的情况,我也是醉了~~~我想要的结果是网站前台通过http://127.0.0.1来访问,那么后台管理系统的入口为http://127.0.0.1/admin ,所以当apache在处理/admin 的请求时,就将该请求转发到Tomcat。经过了一轮轮的度娘,终于配置好了,下面是我的操作步骤

1.启用proxy和proxy_http模块

        使用a2enmod开启proxy和proxy_http模块      

          sudo a2enmod proxy

                  sudo a2enmod  proxy_http

       2.修改apache的配置文件

              打开apache的httpd.conf 或者 default.conf 配置文件,在 VirtualHost  标签内添加如下配置:

        <IfModule mod_proxy.c>
          ProxyRequests off 
          <Proxy>     
            Order deny,allow 
            Allow from all 
          </Proxy> 
          ProxyPass /admin    http://127.0.0.1:8080
          ProxyPassReverse /admin     http://127.0.0.1:8080
     </IfModule>

   保存并重启apache,然后通过http://localhost/admin 就可以访问后台系统了。是不是很简答呢。

  下面是我参考的一篇文章:

在默认情况下,Apache服务器安装后使用的是80端口,而Tomcat默认使用的是8080端口,当一台服务器上二者都安装时,想要访问Tomcat提供的JSP页面,需要在域名后加上:8080,这种方式我不喜欢。

下面介绍通过简单设置,使用80端口可以同时访问Apache提供的PHP和Tomcat提供的JSP。

说明:

  • 下文将假定已安装好Apache和Tomcat服务器
  • 示例域名使用的是http://johnny.linux/(不喜欢localhost,自定义的域名:127.0.0.1  johnny.linux)

  • 主机Ubuntu 14.04
  
Server version: Apache/2.4.7 (Ubuntu)
Tomcat version: apache-tomcat-8.0.12

设置步骤

1. 启用proxy和proxy_http模块

使用a2enmod开启proxy和proxy_http模块(这个最方便)

sudo a2enmod proxy
sudo a2enmod proxy_http

2. Apache编辑虚拟主机

以我的配置为例,

Apache: http//www.johnny.linux/ (Alias http://johnny.linux/), Tomcat: http://johnny.linux:8080/,配置文件如下:

cat /etc/apache2/sites-available/www.johnny.linux.conf
<VirtualHost *:80>
  ServerName www.johnny.linux
  ServerAlias johnny.linux

  ServerAdmin webmaster@johnny.linux
  DocumentRoot /var/www/html
</VirtualHost>

现增加一个虚拟主机http://jsp.johnny.linux/ (注意在hosts文件里面添加该域名:sudo echo “127.0.0.1 jsp.johnny.linux” >> /etc/hosts)

sudo vi /etc/apache2/sites-available/jspjohnny.linux.conf
<VirtualHost *:80>
  ServerName jsp.johnny.linux
  ServerAdmin webmaster@johnny.linux

  DirectoryIndex index.html index.jsp
  DocumentRoot /opt/jvm/apache-tomcat-8.0.12/webapps/ROOT

  ProxyPass / http://johnny.linux:8080/
  ProxyPassReverse / http://johnny.linux:8080/
</VirtualHost>

最后使用a2ensite启用虚拟主机并重启apache2服务器

sudo a2ensite www.johnny.linux.conf jsp.johnny.linux.conf
sudo service apache2 restart # 或者service apache2 reload

到此,可以使用http://www.johnny.linux/或者http://jsp.johnny.linux来访问之前的内容了,不用在浏览器的地址栏中输入8080了





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值