服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
在客户站点中,networking团队在客户端和服务器之间添加了防火墙。 大约40分钟的空闲时间后,这会导致空闲连接断开。 networking人士说,防火墙没有任何空闲的连接超时,但事实是空闲的连接被打破。 为了解决这个问题,我们首先configuration了tcp_keepalive_time = 300,tcp_keepalive_intvl = 300和tcp_keepalive_probes = 30000的TCP keepalive服务器(一台Linux机器)。 这是有效的,连接可以持续数天或更长时间。 但是,我们也希望服务器检测到死的客户端并终止连接,所以我们将设置更改为time = 300,intvl = 180,probes = 10,认为如果客户端确实存在,服务器会每隔300s (5分钟),并且客户端将以ACK进行响应,并且防止防火墙将其视为空闲连接并将其消除。 如果客户端死了,10次探测之后,服务器将中止连接。 令我们吃惊的是,这些空闲而又活跃的联系人在大约40分钟后就像以前一样死亡。 运行在客户端上的Wireshark在服务器和客户端之间根本不显示任何keepalive,即使在服务器上启用keepalive也是如此。 这里会发生什么? 如果服务器上的keepalive设置是time = 300,intvl = 180,probes = 10,我认为如果客户端处于活动状态但空闲,服务器将每隔300秒发送一次keepalive探针,客户端已经死了,它会在300秒后发送一个,然后每隔180秒再发送9个探测器,然后再杀死连接。 我对吗? 一种可能性是防火墙以某种方式拦截来自服务器的keepalive探测器,并且无法将它们传递给客户端,并且获得探测器的事实使得认为连接处于活动状态。 这是防火墙的常见行为吗? 我们不知道涉及哪种防火墙。 服务器是Teradata节点,连接是从Teradata客户端实用程序到服务器端的端口1025的数据库服务器,但我们已经看到与SSH连接相同的问题,所以我们认为它会影响所有TCP连接。
我在一个networking上有一些SIP电话通过IPIP隧道到达服务器。 我已经设置了QOS规则来监视适当的VOIPstream量,如下所示: class-map match-any class-voice description Voice match dscp af11 match dscp cs4 match dscp cs3 ! policy-map qos-out class class-voice priority 100 ! interface Tunnel1 description Tunnel to VOIP Server ip address 10.10.0.2 255.255.255.252 tunnel source FastEthernet0/1 tunnel destination 172.16.100.100 tunnel mode ipip ! interface FastEthernet0/1 description Internet bandwidth 1000 ip address dhcp service-policy […]
我正在尝试启动firefox无头。 以下是启动它的shell脚本的开始: #!/bin/sh Xvfb :99 >/dev/null 2>&1 & XVFB=$! sleep 3 firefox –display=:99 >/dev/null 2>&1 & FIREFOX=$! 当此脚本运行时,会发生以下错误: Xlib: extension "RANDR" missing on display ":99". 我试过用以下的方法启动Xvfb,但是并没有阻止这个错误: Xvfb -extension RANDR :99 >/dev/null 2>&1 & 和 Xvfb +extension RANDR :99 >/dev/null 2>&1 & 有没有更好的方法来启用Xvfb中的XRandR,以便Firefox能够看到扩展名? 另外,有没有办法在Firefox中禁用XRandR?
交叉链接到AWS论坛 我使用WSGI开发了一个简单的Python Web服务,并希望使用Elastic Beanstalk将其部署到AWS云。 我的问题是我无法使我在Elastic Beanstalkconfiguration中指定的所有选项在云中正确configuration。 为了部署,我使用Elastic Beanstalk CLI实用程序。 我已经运行了eb init命令并设置了所需的参数。 之后,在我的源代码树中创build了一个名为.elasticbeanstalk的目录。 它有两个用于部署的configuration文件,即config和optionsettings 。 后面的其中一个选项包含必须在实例中更新/etc/httpd/conf.d/wsgi.conf的WSGIconfiguration。 经过一些调整后,文件具有以下设置: [AWS:elasticbeanstalk:应用:环境] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [AWS:elasticbeanstalk:容器:蟒] WSGIPath = handler.py NumProcesses = 2 StaticFiles = / static = NumThreads = 10 [AWS:elasticbeanstalk:容器:蟒:staticfiles] / static = static / [AWS:elasticbeanstalk:hostmanager] LogPublicationControl = false [AWS:自动缩放:launchconfiguration] […]
我有一个Redmine实例(Bitnami Stack),速度非常慢。 因为我只是想深究其中,所以我想在这里讨论一些理论。 所以,如果有人对此有任何想法,请随时提供帮助:-) 系统: Bitnami堆栈与Redmine 1.4.x升级到Bitnami堆栈与Redmine 2.1.0是这样的: mysqldump'd旧数据库 用Redmine 2.1.0安装了新的Bitnami堆栈 干净地导入转储与重新创build所有表 耙db:迁移和所有 该堆栈正在使用OpenSUSE 12.1的虚拟机上运行。 资源不应该是一个问题,因为总是有几千GB的空闲内存,Redmine请求上的CPU峰值只能达到2个cpu核心的50%。 也只有很less的用户访问它。 什么可能是非常重要的:用户login是通过LDAP(ActiveDirectory)处理的。 问题: 在每个请求Redmine反应exception缓慢。 有时需要3秒钟,有时甚至需要10秒才能发送页面。 我的想法: 我不知道是否在Redmine的LDAP设置中选中了“即时创build用户”,我今天晚些时候才能检查这个。 但是,这里可能缺less支票是一个问题吗? 身份validation需要一些时间,login时是正常的,并确认。 但是,如果不是即时创build用户,是仅保留一个会话还是对每个请求重新进行身份validation,这可能是问题所在? Redmine 2.x可能比1.4.x慢得多,这只是普通的? Bitnami的Apache2 + Passengerconfiguration有问题吗? MySQL的索引不会是一个问题,因为MySQL对CPU非常冷静,是吗? 还有一件事对我来说似乎很奇怪,但可能是一个错误的测量结果(当我看到机器时,需要重新检查这个): 我试图检查是否是一个networking问题(networking反应慢,也许DNS或什么;服务器在本地networking)。 似乎本地主机上的请求(直接在OpenSUSE VM上的浏览器)很快,但通过networking的请求不是。 通常我会想到一个networking问题,但奇怪的是:当实际测量连接时间时,networking速度如此之快。 平安好,静态交货时间也是。 似乎只有Redmine方计算的页面被应用程序服务器缓慢发送,而Apache仍然很快 – 但只有当请求是远程局域网请求时。 很奇怪,但正如我上面提到的,我必须重新检查这一个。 这对我来说似乎不合逻辑。
这真是奇怪 – 我有一个解决方法(阅读),但我很想知道为什么它的作品。 我有一个VPN设置工作正常与WinServer2003服务器和Vista客户端。 然后我设置一个新的Win7框来访问相同的服务器。 服务器正在运行WINS。 这两个客户端都可以进入VPN,并通过IP4地址在服务器端Ping机器。 但只有Vista客户端可以通过NETBIOS地址(机器名称)ping机器。 Win7客户端刚刚返回“找不到主机”。 据我所知,客户端configuration相同。 偶然的时候,我发现,如果我在Win7客户端上运行一个tracert(追踪到服务器端的任何一台机器的路由),那么在NETBIOS工作之后。 例如(这是从Win7的cygwin命令行框,编辑密码等): $ rasdial "vpnName" Dave passWord Connecting to vpnName. Verifying username and password… Registering your computer on the network… Successfully connected to vpnName. Command completed successfully. Dave@QUIET ~ $ ping henshaw Ping request could not find host henshaw. Please check the name and try […]
我正在尝试在运行Ubuntu 12.04的服务器上与虚拟用户build立VSFTPD。 我已经configuration了服务器,以允许虚拟用户login,但我无法获得它允许上传。 我的vsftpd.conf如下: listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES virtual_use_local_privs=YES guest_enable=YES guest_username=virtual user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem /etc/pam.d/vsftpd包含: auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd crypt=hash account required pam_permit.so crypt=hash 我有两个虚拟用户,其中一个与本地用户名称相同。 他们每个都有一个在/ var / www /由'virtual'拥有的目录。 据我了解,当一个虚拟用户以这种方式login时,他们将以虚拟的方式出现在系统上。 使用此configuration用户可以login,但不能上传文件。 /var/log/vsftpd.log给出的错误是: Tue Nov 20 19:49:00 2012 [pid 2] CONNECT: Client "96.233.116.53" Tue […]
我有以下问题与鱿鱼: 某些客户端通过squid代理同时访问62台服务器。 所有服务器具有相同的主机名称(www.example.com),但具有不同的公共IP(123.123.123.2至123.123.123.63)。 服务器所有者使用一种dns循环。 我只能访问鱿鱼服务器和客户端。 只能通过代理IP连接到服务器。 没有代理,我只是发送一个请求来加载数据从http:// 123.123.123.5 / dataforme,但我发送主机头“www.example.com”。 这工作就像应该。 但现在使用squid作为非caching代理,这是不可能的了。 Squid重写发送的请求主机头。 通过这样做,目标服务器不知道要传送什么数据,因为主机头没有正确传输。 我设置 url_rewrite_host_header off 但是这没有任何作用。 看来这个选项只有在使用squid作为redirect器时才会使用。 那不是我所做的。 如果没有其他网站可以访问,以下方法将起作用: header_access Host deny all header_replace Host www.example.com 但是当我这样做时,每个请求都会得到www.example.com主机头。 那么就不可能再访问其他网站了。 我能做什么? 在此先感谢您的帮助!
我们遇到了一个问题,我们的OS X Lion机器将不断为目录中的每个用户查询Active Directory 2008,直到用户login到计算机。 当用户login到机器时,连续的,昂贵的查询停止。 一旦用户注销,问题查询就会重新开始。 这是域控制器(DC)上的重要负载,并触发DC上的现场工程5事件。 我们不使用OS X Server Lion。
我目前正在尝试在FreeBSD上设置NFSv4服务器。 我在其他Unices(Solaris和Linux)上做了这方面的工作经验丰富,但对于FreeBSD我还是比较新的。 我的目标是实现以下目标: FreeBSD系统提供的文件 唯一的安全模式应该是krb5p 客户端是Linux(Ubuntu)和OSX 目前,我已经设置了一些东西,以便我需要一个有效的TGT来访问文件系统。 试图访问这些文件后,我可以在客户端上运行klist ,我可以看到nfs/domainname主体已被检索。 这表明NFS挂载的Kerberos部分是正确的。 我的问题是,所有的客户端访问仍然使用nobody用户执行。 当我执行ls -l时,我可以看到权限。 即使用户映射工作正常,但除非nobody有权对文件进行任何操作,否则我将获得拒绝权限。 这里有一个来自客户端的示例交互(在这种情况下是Ubuntu,但是OSX发生同样的事情)。 在这个例子中, /export/shared/testshare是FreeBSD服务器的共享目录: (我已经将实际域名更改为domain ,将Kerberos域名更改为REALM ) $ kinit Password for elias@REALM: $ klist Ticket cache: FILE:/tmp/krb5cc_1000_GBjtDP Default principal: elias@REALM Valid starting Expires Service principal 09/02/2013 09:40:47 10/02/2013 09:40:44 krbtgt/REALM@REALM $ sudo mount -t nfs4 -osec=krb5p,vers=4 lion:/export/shared/testshare /mnt $ ls -l /mnt […]