(图文)如何配置apache使不同域名转到不同端口?

  • 原创
  • |
  • 浏览:4571
  • |
  • 更新:

       本文教大家如何在同一服务器中安装apache及tomcat,使得不同域名解析到同一IP地址后,使用apache将不同域名访问的用户分发到同一服务器下不同项目中。实现一个服务器的80端口的极大利用,这样大家就可以在一个服务器下部署很多项目,并可以用不同的域名分别访问,对用户是透明的。

(图文)如何配置apache使不同域名转到不同端口?

工具/原料

  • apache软件、tomcat软件

一、安装Apache

  1. 1

    在Apache官网下载最新版本的Apache软件,并上传到服务器中文件夹下。

    (图文)如何配置apache使不同域名转到不同端口?
  2. 2

    解压缩Apache的压缩包到本地。

    命令:tar -zxvf httpd-2.4.25.tar.gz

    (图文)如何配置apache使不同域名转到不同端口?
  3. 2
    相关内容未经授权抓取自百度经验
  4. 3

    输入命令:cd httpd-2.4.25,进入解压好的安装包内

    (图文)如何配置apache使不同域名转到不同端口?
  5. 4

    输入: ./configure

    这是对对即将安装的进行配置。

    (图文)如何配置apache使不同域名转到不同端口?
  6. 5

    如果出现

    checking for APR... no

    configure: error: APR not found.  Please read the documentation.

    报错说明你的服务器中没有安装APR。下面就重新安装APR。

    (图文)如何配置apache使不同域名转到不同端口?
  7. 6

    wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz 

    wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz 

    wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

    在命令行中依次输入以上命令下载安装包。

    (图文)如何配置apache使不同域名转到不同端口?
  8. 7

    输入命令:tar -zxvf apr-1.4.5.tar.gz

    解压安装包。

    (图文)如何配置apache使不同域名转到不同端口?
  9. 8

    依次输入命令:

    cd apr-1.4.5

    ./configure --prefix=/usr/local/apr

    (图文)如何配置apache使不同域名转到不同端口?
  10. 9

    输入:

    make && make install

    进行安装

    (图文)如何配置apache使不同域名转到不同端口?
  11. 10

    回到apr-util-1.3.12.tar.gz所在的目录后

    输入:tar -zxvf apr-util-1.3.12.tar.gz

    解压安装文件

    (图文)如何配置apache使不同域名转到不同端口?
  12. 11

    输入:

    cd apr-util-1.3.12

    ./configure --with-apr=/usr/local/apr

    (图文)如何配置apache使不同域名转到不同端口?
  13. 12

    输入:make && make install

    进行安装软件

    (图文)如何配置apache使不同域名转到不同端口?
  14. 13

    回到pcre-8.10.zip所在的文件夹下

    输入:unzip -o pcre-8.10.zip

    进行解压

    (图文)如何配置apache使不同域名转到不同端口?
  15. 14

    依次输入:

    cd pcre-8.10

    ./configure --prefix=/usr/local/pcre

    make && make install

    (图文)如何配置apache使不同域名转到不同端口?
  16. 15

    如果此时出现如下错误时

    make[1]:***[pcrecpp.lo]错误1

    make[1]:Leaving directory /data/soft/nginx/pcre-8.30

    make:***[all]错误2

    就输入一下代码安装C++即可

    yum -y install gcc-c++

    (图文)如何配置apache使不同域名转到不同端口?
  17. 16

    然后进入Apache压缩包的所在目录

    依次输入:

    cd httpd-2.4.25

    ./configure

    (图文)如何配置apache使不同域名转到不同端口?
  18. 17

    输入:

    make && make install

    进行安装apache软件

    (图文)如何配置apache使不同域名转到不同端口?
  19. 18

    cd /usr/local/apache2/bin/

    ./apachectl start

    启动apache

    (图文)如何配置apache使不同域名转到不同端口?
  20. 19

    当出现

    AH00558: httpd: Could not reliably determine the server'sfully qualified domain name, using localhost.localdomain. Set the 'ServerName'directive globally to suppress this message

    或

    Starting httpd: httpd: apr_sockaddr_info_get() failed forMYHOST

    先将apache服务停止,在/usr/local/apache2/bin/下 ./apachectl stop

    (图文)如何配置apache使不同域名转到不同端口?
  21. 20

    然后切换到配置文件目录

    cd ../conf

    将httpd.conf备份一下(防止写错造成不可恢复的错误)

    cp httpd.conf /usr/local/apache2/conf/httpCopy.conf

    备份完后就可以编辑该配置文件了(如果你觉得你不会搞错什么的,可以不备份)

    (图文)如何配置apache使不同域名转到不同端口?
  22. 21

    找到ServerRoot "/usr/local/apache2"

    在下面添加

    ServerName localhost:80(不修改也是可以的,只是启动的时候会出现以上的警告,看着烦,实际不会有啥影响)

    (图文)如何配置apache使不同域名转到不同端口?
  23. 22

    cd ../bin

    启动apache

    ./apachectl start

    (图文)如何配置apache使不同域名转到不同端口?
  24. 23

    访问页面

    http://服务器ip地址/

    当出现下面的界面,则标识apache服务器安装成功

    (图文)如何配置apache使不同域名转到不同端口?
    END

2、配置Apache

  1. 1

    下面配置转发(即同一个服务器ip地址,多个不同的域名都解析到了该ip上,然后该服务器上同时开着多个tomcat,运行着不同的项目,各个项目的访问端口不同,现在配置apache根据不同的域名转发到不同的端口,对用户是透明的)

    修改配置文件httpd.conf

    vi httpd.conf

    找到配置文件下面那4行,将前面的#去掉

    LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_modulemodules/mod_proxy_connect.soLoadModule proxy_http_modulemodules/mod_proxy_http.soLoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so

    去掉4个#后,下面就可以配置端口转发的

    (图文)如何配置apache使不同域名转到不同端口?
  2. 2

    在配置文件的最下方添加(以下是例子,大家可以根据自己的情况进行配置,下面是我个人的一种配置,还有其他的配置方法,此处就省略了,以后有空再做其他的介绍)

    <VirtualHost *:80>

        ServerName  你的域名a

        ServerAlias 你的域名a

        ProxyPreserveHost On

        ProxyRequests Off

        ProxyPass / http://你的服务器ip:8001/

        ProxyPassReverse / http://你的服务器ip:8001/

    </VirtualHost>

    (图文)如何配置apache使不同域名转到不同端口?
  3. 3

    依次输入:

    cd ../bin

    ./apachectl restart

    重启apache

    (图文)如何配置apache使不同域名转到不同端口?
  4. 4

       此处的配置意思是,该服务器接收到http:a:80的请求后,会转发到http://ip:8001端口上面去,即做了转发,因为多个域名都解析到该服务器上,而且都是80端口,即从ip上来说,大家的请求都一样,所以此处可以根据域名的不同来跳转到不同端口的项目上,比如网站1跳转到端口为8001的tomcat,网站2跳转到端口为8002的tomcat(本人服务器容器选择的是tomcat)

    测试 http://你的域名/与http://你的域名:8001/的访问地址结果都一样,前者通过apache上面的过滤,转发到了8001端口去了,后者直接到tomcat访问去了,因为上面的配置只针对80端口转发,大家可以根据自己的情况来做出不同的配置。

    已经实现了,赶紧试一试吧。

    (图文)如何配置apache使不同域名转到不同端口?
    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部