`

一个apache为两个不同端口的网站提供服务

 
阅读更多

看这篇博客前请先查阅  apache2.2.6 + mongrel_cluster1.0.5负载均衡  


一个台服务器开启两个httpd主进程,分别使用不同的配置文件,服务两个不同的网站。




具体步骤:

1. 从源码安装apache服务,安装路径: /usr/local/apache2.2.22


在/usr/local/apache2.2.22/conf 下创建两个配置文件httpd.conf和httpd2.conf。


httpd.conf:

ServerRoot "/usr/local/apache2.2.22"
Listen 127.0.0.1:80


LoadModule cache_module modules/mod_cache.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule rewrite_module modules/mod_rewrite.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

User daemon
Group daemon

</IfModule>
</IfModule>


ServerAdmin you@example.com
ServerName 127.0.0.1:80

#DocumentRoot "/usr/local/apache2.2.22/htdocs"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>


<Directory "/usr/local/apache2.2.22/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "logs/error_log"
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
   
    CustomLog "logs/access_log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache2.2.22/cgi-bin/"
</IfModule>


<Directory "/usr/local/apache2.2.22/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>


DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>


<Proxy balancer://spacecluster>
    # cluster members
    BalancerMember http://www.iche.com:4000
    BalancerMember http://www.iche.com:4001
    BalancerMember http://www.iche.com:4002
    BalancerMember http://www.iche.com:4003
</Proxy>



ExtendedStatus On
<Location /server-status>
    SetHandler server-status
</Location>

<Location /balancer-manager>
    SetHandler balancer-manager
</Location>

<VirtualHost www.iche.com:80>
    ServerName www.iche.com
    #DocumentRoot "/home/pingan/iche2/trunk/iche"
    ProxyRequests Off

    ProxyPass /balancer-manager !
    ProxyPass /server-status !
    ProxyPass / balancer://spacecluster/
    ProxyPassReverse / balancer://spacecluster/
</VirtualHost>





httpd2.conf :



ServerRoot "/usr/local/apache2.2.22"
Listen 127.0.0.1:8080


LoadModule cache_module modules/mod_cache.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule rewrite_module modules/mod_rewrite.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

User daemon
Group daemon

</IfModule>
</IfModule>


ServerAdmin you@example.com
ServerName 127.0.0.1:8080

#DocumentRoot "/usr/local/apache2.2.22/htdocs"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>


<Directory "/usr/local/apache2.2.22/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "logs/error_log"
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
   
    CustomLog "logs/access_log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache2.2.22/cgi-bin/"
</IfModule>


<Directory "/usr/local/apache2.2.22/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>


DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>


<Proxy balancer://spacecluster>
    # cluster members
    BalancerMember http://127.0.0.1:5000
    BalancerMember http://127.0.0.1:5001
    BalancerMember http://127.0.0.1:5002
    BalancerMember http://127.0.0.1:5003
</Proxy>



ExtendedStatus On
<Location /server-status>
    SetHandler server-status
</Location>

<Location /balancer-manager>
    SetHandler balancer-manager
</Location>

<VirtualHost 127.0.0.1:8080>
    ServerName www.iche.com
    #DocumentRoot "/home/pingan/iche2/trunk/iche_manager"
    ProxyRequests Off

    ProxyPass /balancer-manager !
    ProxyPass /server-status !
    ProxyPass / balancer://spacecluster/
    ProxyPassReverse / balancer://spacecluster/
</VirtualHost>




两个配置文件中除了监听的端口、DocumentRoot和PidFile路径不同外其他地方均可相同(根据自己需求适当修改)。


分别使用以下命令启动或关闭:


/usr/local/apache2.2.22/bin/httpd  -f  /usr/local/apache2.2.22/conf/httpd2.conf -k start|stop|restart




/usr/local/apache2.2.22/bin/httpd -f /usr/local/apache2.2.22/conf/httpd.conf  -k start|stop|restart



另外:/usr/local/apache2.2.22/bin/httpd  -k restart 命令只会导致子进程(apache用户进程,如simon用户)重新启动,而主进程(root用户)是不会重新启动的。








分享到:
评论

相关推荐

    apache2添加多个端口的办法.zip

    apache2添加多个端口的办法.zip apache的apache2是我们最喜欢使用的WEB服务器之一 他默认开放80端口来提供HTTP服务 如果我有多个HTTP服务,我就需要开放多个端口,如何实现呢?

    Apache添加多端口及实现单ip多端口映射的方法

    在我的apache根目录下有这么几个网站,如Test、Child这两个文件夹,也就是两个网站。我想这样,当我访问http://localhost的时候就访问Test,当我访问http://localhost:8080的时候就访问Child。 我们需要配置apache。...

    (Apache & IIS)同一个IP的同一个端口,绑定多个域名

    (Apache & IIS)同一个IP的同一个端口,绑定多个域名

    双IP下APACHE和IIS同时用80端口

    双IP下APACHE和IIS同时用80端口

    Apache+Tomcat服务器集群实现负载均衡

    在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache...

    Apache+Tomcat集群配置详解

     解压tomcat zip文件到两个文件夹,分别为t1和t2,以下均以t1和t2代表两个tomcat服务器。配置JAVA_HOME和CLASSPATH系统环境变量,分别启动t1和t2,确保tomcat可用,然后关闭tomcat。  本文仅为讲解配置过程,...

    Apache实现多端口多主机名配置

    通常只用于同一个Web站点,其网站的名称、IP地址往往是相同的,但通过不同的TCP端口来提供访问不同网页内容的服务入口。在浏览器中访问非80端口的Web服务器时,需要明确指出服务器的端口号。 实验环境:一台RHEL6.5 ...

    两个IP实现IIS和Apache公用80端口的设置方法

    在windows 2003 Server 中同时安装Apache和IIS,两者只能正常启动一个,即Apache和IIS有冲突,原因在于IIS在默认的情况下会占用所有IP的80端口

    php、mysql、Apache三者集成的配置程序APMServ 5.2.6(1)(分两个压缩包)

    动进行相关设置,将Apache和MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的 优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、 虚拟目录、端口更改、SMTP、上传...

    绿色PHP+apache+mysql服务器APMServ5.2.0

    APMServ集合了Apache稳定安全的优点,并拥有跟IIS一样便捷的 图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、虚拟目录、端口更改、SMTP、 上传大小限制、自动全局变量、SSL证书制作、缓存性能优化...

    Linux利用nc命令监控服务器端口的方法

    最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理。批量的系统...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache...

    Linux服务器下Nginx与Apache共存的实现方法分析

    同一个端口是不能同时有两个程序监听的。所以换个思路解决同一台服务器下某些网站运行在nginx下,某些网站运行在Apache下共存。 解决思路: 将nginx作为代理服务器和web服务器使用,nginx监听80端口,Apache监听除...

    apache 2.2.21 -win32-x86

    下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择如图所示。按“Next”继续。] 选择安装类型,...

    Tomcat 7通过设置不同的端口部署两个项目

    这篇文章介绍的方法是通过添加一个不同的端口号方式来实现。方法如下: 1、修改../tomcat/conf/server.xml,原有代码如下: &lt;Engine defaultHost=localhost name=Catal

    配置阿帕奇1.PHP4.23在WindowsXP下的IIS和Apache2两种服务器上的安装实例 http://www.phpe.net/articles/260.shtml

    1.两种Web服务器(IIS和Apache)可同时存在,只要保证他们的监听端口号不同即可,如:IIS用默认的80,而将Apache的配置为8080。 也可暂时让IIS停止服务,而让Apache用80。 2.在D:\apache2\Apache2\conf下的httpd.conf...

    php+mysql+apache集成开发环境4-4

    1、在d盘根目录下新建两个文件夹分别为“php”“www”; 2、将4个压缩包解压到d:/php中(包括Apache2, mysql, MYSQL_Client, php, setup 5个文件夹); 3、点击d:/php/setup 中对应操作系统的安装和卸载...

    php+mysql+apache集成开发环境4-3

    1、在d盘根目录下新建两个文件夹分别为“php”“www”; 2、将4个压缩包解压到d:/php中(包括Apache2, mysql, MYSQL_Client, php, setup 5个文件夹); 3、点击d:/php/setup 中对应操作系统的安装和卸载...

    基于Linux搭建Apache网站服务配置详解

    Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后...

Global site tag (gtag.js) - Google Analytics