`

一个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用户)是不会重新启动的。








分享到:
评论

相关推荐

    Apache中设置多个端口

    其中,设置多个端口是 Apache 服务器的一项重要功能,它允许用户在同一台服务器上运行多个网站,每个网站可以监听不同的端口,从而实现多个端口网站。 在 Apache 服务器中,设置多个端口可以通过修改 httpd.conf ...

    apache 设置主机头,同一端口绑定多个域名和网站

    这种方法允许我们在同一个端口上为不同的域名配置多个网站。 #### 基本概念 1. **NameVirtualHost**: 在Apache中定义一个名称虚拟主机时,必须先声明`NameVirtualHost`指令。该指令告诉Apache服务器监听哪些端口或...

    apache 配置不同的端口访问不同的站点

    Apache服务器是世界上最流行的Web服务器软件之一,其强大的灵活性和可扩展性使得用户可以通过配置不同的虚拟主机来服务多个网站。在本篇文章中,我们将探讨如何通过配置Apache以在不同的端口上访问不同的站点。 ...

    CentOS下Apache配置多域名或者多端口映射

    在 CentOS 系统中,Apache 是一个广泛使用的 Web 服务器软件,它可以用来托管多个不同的网站或应用服务。为了实现这一点,我们需要对 Apache 进行配置,使其支持多域名或多端口映射。本文将详细介绍如何在 CentOS 下...

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

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

    apache配置端口目录

    首先,我们关注的是两个主要的配置文件:`httpd.conf`和`httpd-vhosts.conf`。 `httpd.conf`是Apache的基础配置文件,包含了服务器的基本设置。它位于Apache安装目录的`conf`子目录下。通过编辑此文件,我们可以...

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

    在双IP环境下,服务器拥有两个不同的IP地址,这通常是通过配置网络接口来实现的,其中一个IP地址用于公共访问,而另一个可能用于内部网络或特定服务的访问。 ### Apache与IIS并存的挑战 当谈到Apache和IIS时,这两...

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

    例如,在上面的例子中,定义了两个虚拟主机,分别对应`szwpc.51vip.biz` 和 `szwpc.oicp.net`,并且指定了不同的文档根目录。 #### IIS配置知识点 **1. 绑定多个域名** 在IIS中,通过为不同的网站设置不同的绑定...

    Apache服务器中设置端口映射和反向代理的方法.docx

    在Apache服务器中,端口映射和反向代理是两种重要的网络配置技术,它们用于管理和优化网站服务。本文将详细讲解如何在Apache服务器上设置这两种功能。 首先,端口映射(Port Mapping)允许我们将一个特定的外部端口...

    如何修改apache80端口

    为了避免端口冲突,我们需要将Apache的80端口更改为其他端口,比如8080,并且还需要调整本地主机的访问方式,使其通过`localhost:8080`来访问Apache服务。 #### 修改Apache 80端口至8080 1. **找到Apache配置文件*...

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

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

    Apache服务器配置全攻略

    Apache服务器配置全攻略 ...总的来说,Apache服务器配置涉及多个层面,理解并熟练运用这些知识点,将使你能够灵活地管理和优化服务器,为用户提供高效、安全的服务。不断学习和实践,你将成为Apache服务器配置的专家。

    一个tomcat配置多个端口运行不同项目

    本教程将深入探讨如何配置Apache Tomcat 8.5.11以支持在一个实例中同时运行多个项目,每个项目绑定到不同的端口,以实现资源的有效利用和管理。 首先,我们需要了解Tomcat的基本结构。在解压的`apache-tomcat-...

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

    当试图让IIS和Apache同时运行时,一个可行的解决方案是让这两个服务分别监听不同的IP地址,使得它们能够共存。为实现这一目的,需要对IIS和Apache的配置文件进行修改,以及通过命令行工具对系统进行必要的调整。 ...

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

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

    Apache+Tomcat服务器集群配置详细步骤

    ### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户...对于处理高并发访问场景或需要提供不间断服务的应用来说,Apache+Tomcat集群无疑是一个理想的解决方案。

    Apache服务配置文件讲解

    - TimeOut参数:用于设置Apache等待请求失败的时间,具体包括接收GET请求的总时间、两个TCP包之间的等待时间,以及TCP包传输中两个ACK包之间的时间。它也代表Apache允许的最大数据传输时间。 - KeepAlive参数:用于...

    Apache服务基础

    【Apache服务基础】这篇内容主要介绍了Web服务的基本概念、Apache服务器的安装以及配置等相关知识。 首先,Web服务基于HTTP协议,这是一种应用层协议,用于分布式、协作的信息系统,具有通用性、无状态性和面向对象...

    在一台电脑上同时运行两个tomcat时对端口的修改说明

    本文将详细阐述在一台电脑上同时运行两个Tomcat实例时,对端口进行必要修改的方法及注意事项。 ### 一、理解Tomcat的默认端口 首先,让我们澄清Tomcat默认使用的几个关键端口: 1. **HTTP端口**:默认为8080,...

    配置Apache服务器并且设置DNS .doc

    如果需要在不同端口上发布同一个网站,可以使用`VirtualHost`指令加上端口号,如`VirtualHost 172.16.3.40:8080`。 配置Apache服务器的DNS设置是虚拟主机的关键部分。DNS(Domain Name System)负责将域名映射到IP...

Global site tag (gtag.js) - Google Analytics