25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

通过ProxyPass在CentOS 5 平台上同时运行多个Web服务器


时间:2014/09/23   来源:企业网站管理系统
   有时我们会发现,尽管Apache可以满足大多网络服务的需要,但其他的网页或应用服务器会更适合某些特定的任务。值得庆幸的是,我们可以很容易地配置Apache来传递这样的服务请求给其他的服务器并获得处理。这些第二级(或第三级)服务器可以运行在同一台VPS中,或者在单独的机器中(可以在内部网络)。下面的例子以lighttpd为第二级web服务器,但是对应的方法对于转发HTTP请求到其他的web服务器一样适用。
  
  在下面的操作之前,我们假定您已经在CentOS 5 (译者注:CentOS 6, 7一样适用。)上搭建好了Apache服务器。此外,接下来的操作应该在shell中进行,请确保您拥有root权限。
  
  启用Proxy模块
  CentOS的Apache HTTP服务器包中已经包含了proxy模块。我们先新建下面这个文件:/etc/httpd/conf.d/proxy.conf 内容为:
  ProxyRequests Off
  AddDefaultCharset off
  Order deny,allow
  Allow from all
  ProxyVia On
  这样就打开了proxy模块的支持。接下来,执行此条语句重启Apache:
  /etc/init.d/httpd restart
  Apache会完全重启。若出现问题,可查看错误日志,获取更多信息。
  
  将域名传递至Lighttpd
  
  假设我们已经有了一个网站,地址为www.firstsite.org,此网站运行作为一个普通的虚拟主机运行在Apache服务器之下。我们将用Apache把第二个网站www.secondsite.org的请求传送给一个已经配置好、监听8080端口的lighttpd实例。在你的Apache服务器虚拟主机配置文件中,添加下列信息:
  ServerAdmin support@secondsite.org
  ServerName secondsite.org
  ServerAlias www.secondsite.org
  ProxyPass / http://localhost:8080/
  #SSLProxyEngine On
  若站点采用SSL,则将上述倒数第二行的注释符删去。上述语段中,ProxyPass目录告知Apache转发所有这个站点的请求给一个监听8080端口的服务器。如果目标服务器是在另一台VPS上(比如是一台只有内网连接的服务器上),可以再此处指明地址。此时,执行 /etc/init.d/httpd reload,我们将启用这个网站转发。
  
  将某一特定URL传递至Lighttpd
  
  如果我们希望将http://www.firstsite.org/myapp/这一URL交由运行在lighttpd下的一个web应用来处理,我们只需在firstsite.org网站的虚拟主机配置文件中添加下面一行即可:
  ProxyPass /myapp http://localhost:8080/
  添加完毕后应当用/etc/init.d/httpd reload重新加载配置文件以启用转发。上述方法是一个能够实现单域名下多web服务器处理请求的简便方法。
点击次数:       打印此页  关闭