如果我的主 Web 服务器关闭(当前是 Rackspace Cloud 实例),我想回退到静态网页。这将是一种不应该发生但以前发生过的更糟情况(例如 Backspace 硬件故障)。服务器的冗余将是一个最佳解决方案,但预算是一个问题..所以我正在寻找一个低成本的自动回退,如果目前唯一的服务器发生问题
我试图弄清楚几台服务器的理想设置。
1) 网站
1) 邮件服务器
1) 数据库服务器
1) 文件服务器
在这个给定的场景中,假设有一个站点将为每个用户提供 5GB 的文件存储空间以及一个电子邮件和一个专用数据库。
根据我对服务器如何工作的有限理解,我得出结论,每个功能拥有 1 个服务器将是最好的选择,这样如果一个服务器脱机,其他数据就不会受到影响。
处理这个问题的明智而有效的方法是什么?
这是我的理解
1) 该网站由 1 个主服务器托管,该服务器将处理用户注册并提供小文件。为此,我认为一个简单的服务器设置就足够了,对吗?
2)对于邮件服务器,要处理等量的注册用户,主要处理邮件和邮件附件
3) 数据库不会限制大小,只存储每个客户的联系人和个人资料设置,因此每次用户登录时都会从数据库中提取设置。我计划将设置加载到 $_SESSIONs 中,这样每次页面重新加载时都不会查询数据库等。但是每次操作时都会从服务器查询联系信息。
4) 文件服务器将只为文件提供任何 CPU 或内存密集型的服务
就软件而言,我倾向于使用 CentOs 5.5 和 Plesk 10.2 来处理网站服务器,使用 MySQL 5 来处理数据库服务器,或者使用 Atmail 来处理邮件服务器。建议在每个服务器上加载软件方面的内容是什么?
我在这方面没有经验,但我每天都在获得一些经验。我需要得到明智的通知,以便我至少知道在我雇用某人为我处理设置的情况下我在处理什么。
根据您的经验,硬件和软件配置的理想设置是什么?
此外,请考虑 5,000 个客户的示例用户群。所以每个人都有 5GB 的网络空间、电子邮件和自己的数据库。
有没有什么是用于 Linux 的非常简单的 PHP Web 服务器,它实际上需要一个 PHP 文件并通过端口 80 为其提供服务。不想配置一个完整的 Web 服务器,如 apache、lighttpd 或 nginx。只需要提供单个 PHP 脚本,不需要虚拟主机。如果它像这样工作,那就太棒了:
$ simple-php-web-server myscript.php
Run Code Online (Sandbox Code Playgroud) 我相信这是一个简单的问题,我提前感谢您为我澄清。
使用这个例子:
foo.domain.com CNAME bar.example.com
bar.example.com A 192.168.1.19
Run Code Online (Sandbox Code Playgroud)
客户端在浏览器中请求 foo.domain.com。
名称查找是否简单地解析为 192.168.1.19 并且他们的请求是通过主机头 foo.domain.com 向该地址的服务器发出的?或者他们实际上是重定向并且他们的请求是使用主机标题 bar.example.com 发出的?
我是否需要将服务器配置为侦听新主机名 (foo.domain.com),并为其提供有效的 SSL 证书等?或者 bar.example.com 的现有配置是否足够?
假设我有一个域名,foo.com在那里我有一系列类似的网页foo.com/123和foo.com/456等。我想使用的域,并提供不带链接www的前缀。这些页面也将有指向其他页面(以及彼此)的链接,而没有www前缀。
我使用 Azure 来托管我们的站点,该站点与 EC2 相同,因为该域不能有 A 记录,因为服务器环境是虚拟化的。因此,Microsoft 和 Amazon 都告诉您使用 CNAME 记录将您的域指向他们管理的 A 记录。在 Azure 的情况下,我的 CNAME 记录指向 cloudapp.net 记录(由微软管理):
foo.com CNAME foo.cloudapp.net
Run Code Online (Sandbox Code Playgroud)
foo.cloudapp.net我在 Azure 上设置的域在哪里。
我遇到了各种各样的问题,比如电子邮件传递和各种各样的人无法加载网站。2 个不同的域名服务器提供商和我的托管商告诉我,将根域作为 CNAME 条目违反了 RFC,这就是为什么我的问题是零星的。
我很惊讶听到这个消息,因为您现在看到这么多站点托管在 EC2 或 Azure 上,并且不使用www前缀。这些站点是如何设置的,以便它们可以只使用foo.com(不带www前缀)?
更新:虽然我问了有关 EC2 或 Azure 的问题,但我专门寻找有关 Azure 的信息。
大约 4 小时以来,Facebook 的服务器在开始时每 5 分钟访问一次我的网站,但现在至少每分钟一次。
在日志中获取此信息
66.220.153.246 - - [25/Apr/2012:20:08:49 +0000] "GET / HTTP/1.1" 200 7304 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
Run Code Online (Sandbox Code Playgroud)
有人知道他们为什么要这样做吗?
我对为 Web 应用程序建模各种服务器/网络配置感兴趣。我想提前知道系统的哪些部分将成为瓶颈,以及瓶颈是否受 CPU/内存/网络等约束。
我一直在考虑的一个想法是采用单个测试服务器,并将每个“真实”服务器设置为虚拟机,并按照它们在野外进行配置。我打算试试这个,但想问问 serverfault 社区是否有人以前尝试过这种方法。 它可行吗?
我并不期待基准测试或任何类似的东西,但我认为它可能对建模相对性能、突出瓶颈和提供对架构的健全性检查有用。
我有一个 apache2 服务器,上面启用了多个站点,包括默认站点 (000default)。默认服务器正在捕获大量垃圾邮件请求,这些请求只会消耗带宽并填满日志文件。
什么是最小的虚拟主机配置,它会丢弃所有访问默认站点的请求?
这是我到目前为止使用 mod_security 所做的,但它似乎除了对所有请求响应 403 之外什么都不做:
<VirtualHost *:80>
ServerName default.only
SecRuleEngine On
SecAction "drop,phase:1"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我只是想知道为什么人们说如果启用了 SuPHP,eAccelerator 将无法工作,因为在我的服务器中,我正在运行 e-accelerator,现在我已经启用了 suphp,至少到目前为止它似乎工作正常......
问题是
web-server ×10
apache-2.2 ×2
php ×2
scalability ×2
amazon-ec2 ×1
azure ×1
cname-record ×1
domain ×1
email-server ×1
file-server ×1
host ×1
linux ×1
mod-security ×1
ping ×1
security ×1
sql-server ×1
ssl ×1
ubuntu ×1
unix ×1
web ×1