服务器管理员

系统和网络管理员的问答

5
设置高可用性虚拟化环境
对于一个项目,我的任务是为网络商店和CMS系统规划高可用性设置。但是,当然,该项目的预算很紧张。因此,高端解决方案可能不在预算之内。 将有两台运行Web服务器(CMS,车间)的计算机,一台运行数据库的计算机,以及一台运行传真服务器的计算机,该传真服务器用于向合作伙伴下达订单。所有系统都运行Linux。所有这些组件都必须具有高可用性,并应支持透明的故障转移。 为了降低硬件成本,我考虑使用虚拟化环境。那里有很多信息,但我不知道确切要开始。显然,至少需要将服务器作为虚拟机的主机,这样就不会出现单点故障。 哪种方法可以支持高可用性? 第一个问题是在这种情况下哪种虚拟化解决方案最佳。需要某种管理界面。需要一种将正在运行的虚拟机从一台主机移到另一台主机的方法,以便可以对主机进行维护。需要某种机制,以便在一台主机发生故障时虚拟机仍然可用。您能在这里提出有效的解决方案吗? 在大多数情况下,共享文件存储似乎是高可用性的先决条件(预计VMware vSphere会非常昂贵)。但是,与其将另外两个服务器添加到设置中以提供冗余的NFS文件存储,不如将更多的钱投入虚拟机主机中。是否有可能仅与两个虚拟机主机相处?一个解决方案可能是两个同时使用这两个作为NFS主机。为此会有很多性能损失吗? 编辑:我的目标是99.9%的可用性。但是,由于有正常的工作时间,因此不需要24/7的可用性,因此有一定的操作空间。必须以某种方式保证的可用性时间是从上午10点到午夜。


5
静默和脚本化安装CPAN和Perl模块?
我需要在Scientific Linux(RHEL)安装脚本中自动安装CPAN和一些Perl模块。不幸的是,据我所知,我想要的特定模块(至少其中一个)无法作为RPM:s找到。 因此,我需要安装CPAN,自动进行配置(或使用配置文件),然后也自动安装所需的模块(包括依赖项)。 这似乎不是一个非常不寻常的要求,但是我还没有看到任何非常好的文档。问题在于,每次首次启动CPAN时,都会运行交互式配置。可以以某种方式跳过吗?以及如何直接从命令行启动模块安装?

8
在绑定设备的情况下,在/ proc或其他位置找到MAC地址?
有没有办法获取eth0和eth1的原始MAC地址? 大量服务器具有绑定接口来管理备份交换机连接,并且其中一个行为不正常。在bond0处于活动状态时,两个IP地址将被ifconfig替换并报告。 我想在服务器阵列中搜索在思科设备中找到的MAC地址。 我会使用dmesg(1)或/ var / log / messages,但是对于大多数阵列,它们已经滚动了数百天。
9 linux  centos  redhat 

4
如何更改Dovecot虚拟用户密码?
我使用了一个基于Web的控制面板来为Dovecot创建一些虚拟用户。该控制面板不再起作用,因此我需要手动执行此操作。 我需要为dovecot.passwd文件中列出的一个(虚拟)用户重置密码。该文件使用CRYPT架构。如何重置该密码? 因此问题归结为-可以使用什么将纯文本密码转换为CRYPT加密格式?
9 centos  dovecot 

1
如何在Apache mod_status输出中显示完整的URL?
无论如何,是否有完整的URL显示在mod_status输出页面上?目前,该请求被截断为64个字符: HEAD /w3c-validator/check?uri=http%3A%2F%2Fwww.domain.com%2Fans 我知道有很多查询字符串选项,例如?auto,?notable等,但是它们都不显示完整的url(我可以看到)。

1
乌贼作为Socks5代理服务器
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 8年前关闭。 我的一位朋友住在他们审查网站的国家,他们正在与人们用来绕过审查的技术作斗争。 他告诉我,他现在可以绕过审查的唯一方法是使用SOCKS代理(该国家/地区阻止了VPN和SSH与外界的连接) 我按照本教程中的步骤用Squid配置了一个Web HTTP代理服务器:http : //www.howtoforge.com/linux_secure_browsing_squid 现在,我的朋友可以更改其IP地址,并使用新的IP地址浏览网站,但是他告诉我,由于浏览未编码,因此他仍然无法访问被检查的网站。 谁能帮助我将Squid配置为Sock5代理服务器? 我的服务器是Debian 5 提前致谢。
9 proxy  squid  socks 

2
服务器锁定,/ var / log / messages报告“超出了积压限制”
我们有一个CentOS操作系统,今天早上对外部网络流量变得无响应。它是一个虚拟机。我能够重启虚拟机。重新登录后,我在/ var / log / messages文件中发现以下内容,一遍又一遍,直到重新启动为止: Jan 21 06:53:01 PBX kernel: audit: backlog limit exceeded Jan 21 06:53:01 PBX kernel: audit: audit_backlog=321 > audit_backlog_limit=320 Jan 21 06:54:01 PBX kernel: printk: 8 messages suppressed. Jan 21 06:54:01 PBX kernel: audit: audit_backlog=321 > audit_backlog_limit=320 Jan 21 06:54:01 PBX kernel: audit: audit_lost=1130 audit_rate_limit=0 …


1
首次访问ssh远程系统时自动生成ControlMaster后台进程
最近,我经常使用SSH客户端的ControlMaster功能,该功能使我可以将单个SSH-TCP连接用于多个外壳和端口转发到同一远程系统。最令人讨厌的是,打开的第一个外壳程序进程将自动变为ControlMaster。这意味着,如果该过程终止,则使用控制主连接的所有其他外壳程序和端口转发将不可用。 我真的很想,到远程系统的第一个ssh命令会产生一个额外的后台进程来保存该连接,只要仍然有使用ControlMaster连接的连接,那么我就可以简单地关闭实际的shell,而不必担心会崩溃连接。理想情况下,后台ControlMaster进程甚至可以配置为等待一定时间,以便新的外壳或端口转发使用ControlMaster,然后最终关闭。 有没有办法让ssh客户端做这样的事情?我知道我可以在使用ssh创建第一个shell之前手动创建这样的连接,但是我明确希望此连接自动发生,因为否则我肯定会时不时地这样做。 让包装程序脚本做起来也不是那么容易,因为我经常在.ssh / config中使用已配置的速记来表示远程服务器名称,并且ControlMaster套接字是使用USERNAME @ NETWORK_NAME:NETWORK_PORT作为名称创建的。因此,包装程序需要完全理解.config / ssh才能按预期工作。
9 ssh 

3
后缀:强制服务器将邮件发送到本地主机之外
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 6年前关闭。 我有一个使用mail()函数发送邮件的php文件。问题在于,其中一种形式发送到在我的服务器上注册的域,而邮件在另一台服务器上处理。Postfix仅在本地显示。如果找不到电子邮件地址,则拒绝该消息。如何配置后缀以通过Internet而非本地将邮件发送到所有域? 更新资料 好。因此,这根本不是一个后缀问题。我只需要关闭从命令行发送到该域的邮件。对于需要该命令的任何人(至少在我的系统上): /usr/local/psa/bin/domain --update example.com -mail_service false
9 postfix 

3
具有内部端口重定向的Windows 7,可以吗?
我收到一位开发人员的请求,要求我解决问题。 他们在办公室中使用Linux桌面,我可以通过iptables nat将localhost:80转发到localhost:8080。在Windows 7中,他们想要的就是家里的东西。 我得到了我认为有两种解决方法。一种用于重新配置jboss网络服务器和所有webapps URL(混乱)的工具。另一个是找到一种将本地主机端口8080重定向/保留到端口80的方法。尽管在Windows 7中,我不确定如何执行此操作。 有人对第二种方法有想法吗?

2
NGINX的“全球”位置
是否可以为NGINX服务器创建“全局”位置?我希望NGINX服务的每个站点都可以访问/ global /文件夹;遵循 http { [...stuff...] #Global path location /global/ { root /my/global/location/; } server { listen 127.0.0.1:80; server_name example.com; [...standard config...] } server { listen 127.0.0.1:80; server_name example.org; [...standard config...] } server { listen 127.0.0.1:80; server_name example.net; [...standard config...] } } 并能够从http://example.com/global/ http://example.org/global/等访问全局位置的文件。 如果将全局位置块添加到每个server块中,则可以执行此操作,但这很烦人,我想在全局范围内对其进行定义,并能够从站点内部进行访问。 我可以include在每个主机中使用一个指令,但是它仍然需要每个主机中的规范。NGINX Wiki表示“位置”块仅在server上下文中有效,但我不知道是否存在重写技巧或类似内容。
9 nginx 


4
.htaccess在负载均衡器后面是否有REMOTE_ADDR的RewriteCond?
我在负载均衡器后面有一个Web服务器。 我需要在我的.htaccess中添加条件重定向,以便在我们使站点离线进行维护时显示维护页面。这部分很简单: RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,我想补充一点,如果访问者的IP地址是我自己的,则它不会将我重定向到维护页面,并且可以像正常在线一样查看和测试该站点。这部分通常也很简单: RewriteEngine on RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111 RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,由于我的Web服务器位于负载均衡器的后面,REMOTE_ADDR因此解析为负载均衡服务器的内部IP地址。 如何更改此地址以查找转发的IP地址?我知道在PHP中您可以$_SERVER['HTTP_X_FORWARDED_FOR']用来获取转发的IP地址。我已经尝试了几件事,.htaccess但是没有运气: %{X_FORWARDED_FOR} %{HTTP:X_FORWARDED_FOR} %{HTTP_X_FORWARDED_FOR} 解 我有以下工作: %{HTTP:X-FORWARDED-FOR}

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.