服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Apache不尊重特定站点的ServerName指令

我已经有几个站点configuration为使用Apache的VirtualHosts,一直工作得很好。 我最近将服务器的主机名更改为正在服务的域名之一,并将其​​添加到指向服务器外部IP地址的/ etc / hosts中。 由于我这样做,从我的笔记本电脑访问的域名需要我的Apache的默认“它的作品!” 页。 如果我从/ etc / apache2 / sites-enabled /删除了000-default,它将显示正确的站点。 尝试使用“www”访问网站 前缀带我到正确的网站,无论是否默认是在网站启用。 基于所有这一切,我猜默认configuration正在提供默认页面,因为我已经configuration主机名或/ etc / hosts(或两者),但我不知道如何禁用,而同时留下这些设置。 任何build议欢迎! 编辑 – 我目前的VirtualHostconfiguration如下所示: <VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com ServerAdmin [email protected] DocumentRoot /srv/www/domain ErrorLog /srv/www/domain/logs/error.log CustomLog /srv/www/domain/logs/access.log combined </VirtualHost> 总结:我有几个VirtualHosts设置,这是唯一一个不能正常工作。 我可以访问http://www.domain.com就好了,但http://domain.com把我带到Apache的默认“它的工作!” 页。 如果我禁用000默认configuration它显示正确的页面。 这只是在将服务器的主机名设置为domain.com并将一行到/ etc / hosts指向domain.com添加到服务器的外部IP地址之后才开始发生的。 如果可能,我想离开那些。 编辑:我运行apache2ctl -S因为/usr/sbin/apache2 -S给我“apache2:坏用户名$ {APACHE_RUN_USER}”。 这是输出: VirtualHost […]

负载均衡最佳实践持久性

我们为越来越多的客户端运行一个为Web API提供服务的Web应用程序。 首先,客户端通常是家庭,办公室或其他无线networking,将分块的http上传到我们的API。 我们现在已经开始处理更多的移动客户端。 文件从几个k到几个演出,分解成更小的块,并重新组装在我们的API。 我们目前的负载平衡是在两层进行的,首先我们使用循环DNS为我们的api.company.com地址宣传多个Alogging。 在每个IP上,我们托pipe一个Linux LVS: http : //www.linuxvirtualserver.org/,load-balancer查看请求的源IP地址,以确定将哪个API服务器连接到该连接。 这个LVS框configuration有心跳接pipe外部VIP和内部网关IP。 最近,我们看到了两个新的错误条件。 第一个错误是客户端在振荡或者从一个LVS迁移到另一个LVS的时候,中间上传。 这反过来导致我们的负载均衡器失去了持续连接的跟踪,并将stream量发送到新的API服务器,从而打破了跨两个或更多服务器的分块上载。 我们的目标是为我们的api.company.com(我们已经设定为1小时)的Round Robin DNS TTL值提供下游caching名称服务器,操作系统caching层和客户端应用程序层的荣誉。 这个错误发生在我们上传的大约15%。 我们看到的第二个错误很less见。 客户端将启动stream量到一个LVS箱并被路由到它后面的realserver A. 此后,客户端将通过新的源IP地址(LVS箱不能识别)进入,从而将正在进行的通信量路由到也位于该LVS之后的真实服务器B. 鉴于我们的架构如上所述,我想知道什么是人们的更好的方法的经验,这将使我们能够更好地处理上面的每个错误情况? 编辑5/3/2010: 这看起来像我们所需要的。 对源IP地址加权GSLB哈希。 http://www.brocade.com/support/Product_Manuals/ServerIron_ADXGlobalServer_LoadBalancingGuide/gslb.2.11.html#271674