服务器管理员

系统和网络管理员的问答

4
如何为Apache服务器上的所有域创建robots.txt文件
我们有一个带有虚拟主机的XAMPP Apache开发Web服务器设置,并希望阻止Serps爬行我们所有的站点。使用robots.txt文件可以轻松完成此操作。但是,我们宁可不要在每个虚拟主机中都包含一个禁止的robots.txt文件,而当我们在另一台服务器上使用该站点时,则必须将其删除。 apache配置文件是否可以将所有虚拟主机上对robots.txt的所有请求重写为单个robots.txt文件? 如果是这样,您能举个例子吗?我认为应该是这样的: RewriteEngine On RewriteRule .*robots\.txt$ C:\xampp\vhosts\override-robots.txt [L] 谢谢!

5
在2GB RAM E6500 CPU上每天优化apk以获得超过10K的wordpress视图
我在ubuntu上有一个带有apache / php的专用服务器,每天为我的Wordpress博客提供10K +的浏览量。我在APC中安装了W3TC插件。 但是每时每刻,服务器都停止响应或变慢,我必须重新启动apache才能将其恢复。 继承人我的配置我在做什么错? ServerRoot "/etc/apache2" LockFile /var/lock/apache2/accept.lock PidFile ${APACHE_PID_FILE} TimeOut 40 KeepAlive on MaxKeepAliveRequests 200 KeepAliveTimeout 2 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 8 ServerLimit 80 MaxClients 80 MaxRequestsPerChild 1000 </IfModule> <IfModule mpm_worker_module> StartServers 3 MinSpareServers 3 MaxSpareServers 3 ServerLimit 80 MaxClients 80 MaxRequestsPerChild 1000 </IfModule> …

2
了解linux和nginx的最大文件描述符,以及worker_rlimit_nofile的最佳值
我在nginx上收到了看似常见的“文件描述符过多”错误。经过大量搜索之后,解决方案显然是增加可供nginx使用的文件描述符的数量。但是没有足够的信息让我感到以有意义和安全的方式进行此操作。以下是大多数论坛/电子邮件主题涵盖的要点: 操作系统有其自己的总文件描述符限制(在我的系统上,cat /proc/sys/fs/file-max输出“ 100678”) 每个用户也可以有自己的限制(但在我的系统上,ulimit以任何用户输出“无限”的方式运行,请参阅底部的更新,以获取更多详细信息) 一些人按照此人说的话说了一些话:“指令worker_rlimit_nofile没有指定“多少”,而是操作系统限制。指令worker_rlimit_nofile仅允许以一种肮脏的方式扩大此限制(如果还不够的话)。因此,我想这暗示着为nginx OS用户设置限制而不是在配置中“更好”吗? 我可以抛出一个大于每个工人连接数的worker_rlimit_nofile值,并将其称为一天,但是我真的不知道这是怎么回事。 为什么每个工人的限制小于操作系统的限制? 我如何找出我现在的极限? 更新:对根和一个普通用户,输出的ulimit“无限制”,但ulimit -Hn和ulimit -Sn两个输出1024
10 linux  nginx  ulimit 

1
3个节点群集的配置管理功能过大?
我的负载均衡器和各种Web应用程序有2-3个节点群集。我必须先在质量检查中进行更改,然后在暂存中(在2-3台服务器上)进行更改,然后在生产中(在2-3台服务器上)进行更改。这里是否适合使用诸如Chef或puppet之类的配置管理工具?还是过度杀伤力?如果这是过度杀伤力,那么有什么技巧可以使之更容易。

1
在BIND中,将特定域的DNS查询转发到特定名称服务器
Windows Server 2003具有此功能,您可以在其中将对域“ example.com”的查询转发到特定的名称服务器(而不是默认的DNS服务器)。 如何在BIND中进行设置?例如,我想设置将本地TLD转发到特定本地名称服务器的功能。 绑定版本9.6 工作配置 正如Khaled所指出的,我们可以在zone子句中使用forwarders语句。它使用以下配置: zone "local." IN { type forward; forward only; forwarders { 10.10.1.9; }; };

7
转向源代码控制
我们是一家规模很小的公司(3-4位程序员和3-4位网站设计师),它开发了一个单一用途的PHP Web应用程序,该应用程序可为大约100多个网站提供功能。我们已经在一个单独的开发和生产环境中运行了两年,效果很好。总是有足够多的独立功能要开发,以使程序员们再也不会真正冲突了,并且在没有源代码控制的情况下工作起来更加方便。即使这样做有造成数据丢失的风险,而且我们在无意间采取行动也丢失了相当一部分文件。 另一个考虑因素是我们的设计师不精通技术(我向他们介绍了html标记,而不是使用WYSIWYG)。这是不愿转向版本控制的原因之一。 但是,现在我们已经有100多个站点,并且开发团队正在壮大,我正在尝试对我们的过程进行标准化,并且就程序员而言,源代码控制似乎是合乎逻辑的一步。我希望这也可以加快我们的补丁程序部署。 不幸的是,我在建立源代码控制系统方面的经验非常有限。我很好奇从设置类似的人那里听到的消息,或者有进行切换的经验: 1)是否对所有内容(站点,css,html模板和应用程序代码)进行版本控制,从而迫使设计人员学习版本控制?还是仅开发人员才能处理应用程序代码? 2)最初设置源代码管理时要注意哪些陷阱? 3)部署dev =>用于源代码控制的生产技巧。 感谢您的见解。 编辑1:当当。到目前为止,每个人都建议控制一切。那会让我早点掉头发。在不久的将来,这可能会引发一个新的问题。感谢到目前为止的建议,请继续关注! 编辑2:有很多好的答案,我们将研究各种版本控制系统。感谢大家的答复!

3
Centos 5.5上使用简单PostgreSQL 8.4.4查询的IO极慢
我看到的奇怪且极其缓慢的IO模式是(输出iostat -dxk 1 /dev/xvdb1): Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb1 0.00 0.00 0.99 0.99 7.92 3.96 12.00 1.96 2206.00 502.00 99.41 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 …

2
EC2实例停止和启动时IP发生了更改
关于EC2实例,我这里有一个奇怪的问题。扩展引导驱动器后,我刚刚停止并启动了Windows的EC2实例,而不是在启动实例之后,在停止启动阶段之前分配的IP现在已更改为新IP。任何人都遇到过类似的问题,或者在停止启动方案中很常见吗?
10 amazon-ec2  ip 

1
在光纤通道结构上正确放置设备
我们正在为光纤通道结构购买一对新的8Gb交换机。这是一件好事,因为我们的主数据中心的端口用完了,这将使我们能够在两个数据中心之间至少运行一个8Gb ISL。 光纤运行时,我们的两个数据中心相距约3.2公里。几年来,我们一直在获得可靠的4Gb服务,我非常希望它也能够维持8Gb。 我目前正在研究如何重新配置​​我们的结构以接受这些新的交换机。由于成本决定,几年前,我们没有运行完全独立的双环结构。完全冗余的成本被认为比不大可能发生的交换机故障停机成本高。这个决定是在我的时间之前做出的,自那时以来,情况并没有太大改善。 我想借此机会使我们的结构在发生交换机故障(或FabricOS升级)时更具弹性。 这是我正在考虑的布局图。蓝色项目是新的,红色项目是将被(删除)的现有链接。 (来源:sysadmin1138.net) 红色箭头线是当前ISL交换机链接,两个ISL来自同一交换机。EVA6100当前已连接到具有ISL的两个16/4交换机。新的交换机将使我们能够在远程DC中拥有两个交换机,其中一些远程ISL正在迁移到新的交换机。 这样做的好处是,每个交换机与另一个交换机的跳数不超过2跳,而两个将以EVA复制关系的EVA4400彼此相距1跳。图表中的EVA6100是较旧的设备,最终可能会替换为另外的EVA4400。 图表的下半部分是我们大多数服务器所在的位置,我对确切的位置有所担忧。需要去那里: 10个VMWare ESX4.1主机 访问EVA6100上的资源 一个故障转移群集(文件服务器群集)中的4台Windows Server 2008服务器 访问EVA6100和远程EVA4400上的资源 第二个故障转移群集中的2台Windows Server 2008服务器(黑板内容) 访问EVA6100上的资源 2个MS-SQL数据库服务器 访问EVA6100上的资源,每晚DB导出到EVA4400 1个LTO4磁带库和2个LTO4磁带驱动器。每个驱动器都有自己的光纤端口。 备份服务器(不在此列表中)假脱机到它们 目前,ESX群集最多可以容忍3个(可能是4个)主机关闭,然后才必须开始关闭VM的空间。幸运的是,所有东西都已打开MPIO。 我注意到,当前的4Gb ISL链路还没有接近饱和。这可能会随着两个EVA4400的复制而改变,但是至少一个ISL将是8Gb。从性能上看,我将无法使用EVA4400-A,即使复制流量很大,我们也很难穿越4Gb线路。 4节点文件服务群集在SAN1SW4上可以有两个节点,在SAN1SW1上可以有两个节点,因为这会使两个存储阵列相距一跳。 我有些头疼的10个ESX节点。SAN1SW4上的三个,SAN1SW2上的三个,SAN1SW1上的四个是一个选项,我很想听听其他关于布局的意见。其中大多数确实具有双端口FC卡,因此我可以重复运行几个节点。并非全部,但足以使单个开关失败而不杀死所有内容。 两个MS-SQL盒需要在SAN1SW3和SAN1SW2上运行,因为它们需要靠近其主存储,并且db-export性能不太重要。 LTO4驱动器当前位于主拖缆的SW2和2跳上,因此我已经知道它是如何工作的。这些可以保留在SW2和SW3上。 我不想将图表的下半部分设置为完全连接的拓扑,因为这样会使我们的可用端口数从66减少到62,而SAN1SW1将是25%的ISL。但是,如果强烈建议我走那条路。 更新:一些性能数字可能会有用。我有它们,我只是将它们隔开来解决此类问题。 上图中的EVA4400-A具有以下功能: 在工作日内: 在文件服务器群集ShadowCopy快照期间,I / O操作的平均次数低于1000,峰值达到4500次(持续约15-30秒)。 MB / s通常保持在10-30MB的范围内,在ShadowCopies期间峰值可达到70MB和200MB。 在夜晚(备份)时,它的踏板速度很快: I / O操作平均约为1500,在数据库备份期间峰值可达5500。 MB / s的变化很大,但在几个小时内可以运行约100MB,而在SQL导出过程中则以惊人的速度在约15分钟内运行300MB / …

4
用Python编写的init.d脚本
StackOverflow上出现一个问题,询问如何init.d用Python 编写脚本。一条评论指出,这些脚本应该在Shell中编程,而不是Python。正在init.d用Python 编写脚本: 坏。坏。坏。永远不要这样做。 不建议这样做。 好的,请注意。 旧式教条。 完全可以。 知道任何噩梦场景,或者如果此规则写在某些系统管理员的血液中,那将是很好的。
10 linux  python  init.d 

7
在哪里维护中央源代码库?
关于确保对源代码的访问的最佳行业做法是什么?我在考虑通过apache进行的仅SSL连接允许在不影响其他端口的晦涩端口上转移到我们的服务器。困扰我的是将源代码存储在面向公众的服务器上,即不仅可以通过LAN访问。而且,该服务器有多种用途。Apache已经为其他公司内部网站提供服务。我希望每个人都可以从任何地方(房屋,机场等)访问源代码,只要他们具有正确的凭据即可。有什么建议吗?

1
Mac OS Web共享-Apache日志在哪里?
我在Mac OS X机器(10.6)上启用了网络共享(系统偏好设置/共享/网络共享)。我想检查apache日志以查看用户代理字符串。这些日志保存在哪里?此处的答案似乎暗示/ var / log / httpd,但我的机器上什么都没有。 有人知道他们在哪里吗? 谢谢!
10 mac-osx 

4
人偶主机名与服务器证书不匹配
我正在尝试安装一个装有puppet的Ubuntu VM,以便可以在本地测试我们的生产设置。我无法让puppetmaster和puppet互相交谈。让我引导您完成我的步骤。(服务器hostname是格式为“ web1.xxx.xxx.net”的FQDN)。 因此,首先,我从/etc/puppet/ssl目录中清除了所有pem文件(当然,除了CA pems外),因此可以重新开始。 puppetca --list没有返回结果。 然后,我运行puppetd --test为puppetmaster生成CSR。puppetca --list现在包括我的主机名(“ web1.xxx.xxx.net”)。 然后我跑puppetca --sign web1.xxx.xxx.net。现在又puppetca --list是空的-到目前为止一切正常。 最后,我puppetd --test再次跑步。我得到以下输出: err: Could not retrieve catalog from remote server: hostname was not match with the server certificate warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run 列出目录的内容将/etc/puppet/ssl显示具有正确服务器名称的PEM文件,该服务器名称与my匹配hostname。有人对如何解决此问题有任何想法吗?
10 puppet 

5
RAID阵列降级时引导Debian
最近,我遇到了Ubuntu Server安装问题。在安装过程中,它询问我是否允许从降级的RAID阵列引导系统(可能是因为我已将系统安装到RAID1 / dev / md0设备上)。这对于无人值守的服务器刚刚强大,有用的选项有联机,不管是不是自己的RAID阵列降级(只要它没有完全失败)。 快速查找之后,我发现它可以通过读取/etc/initramfs-tools/conf.d/mdadm配置文件(BOOT_DEGRADED = true选项)或读取内核启动行参数(bootdegraded = true)来工作。 问题:是否有类似的东西(一种使用降级阵列引导系统的方法)对Debian有用?我不确定该确切方法是否适用,甚至不确定是否具有此特定功能。 我之所以这样问是因为我曾经在某些系统中使用RAID5阵列,并且在不正确的关机后无法启动,直到我手动“修复”了该阵列(事实证明这是主要的PITA),因为服务器无人值守在远程位置时,没有UPS,并且确实发生了电源故障。所以,我要问的是我将来可以避免这种问题。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.