我是一名缺乏一些基础设施知识的开发人员。在 200 美元到 300 美元的范围内,我能买到的最粗的管道是什么?我想在我家托管几台服务器。然后,如果我的公司变得足够大或流量需要“超大规模”,我会想出其他办法。
更新:我想我想我的情况是我开始自己的事业。也许构建下一个 Twitter/Flickr/FriendFeed(如果我能这么幸运的话)。我买或租办公室太便宜了。所以我的房子(奖金房+一间卧室)将成为我的办公室/服务器机房。我想至少探索一下自己托管一段时间的选择。
我是服务器管理的新手,我正在寻找强大的托管服务来托管我的新网站。这个网站基本上是一个手机网络游戏的后端,它将:
我真的不知道我需要什么样的服务器来处理这些需求,我的问题是:
最近我的朋友告诉我,在有足够内存的 linux 网络服务器上关闭交换是个好主意。我的服务器有 12 GB,目前在峰值负载下使用 4 GB(不包括缓存和缓冲区)。
他的论点是,在正常情况下,服务器永远不会使用其所有 RAM,因此它遇到 OutOfMemory 情况的唯一方法是由于某些错误/ddos/等。因此,如果关闭交换,系统将耗尽内存,最终会导致占用内存的程序(很可能是 Web 服务器进程)和其他一些进程崩溃。如果打开了交换它会同时占用 RAM 和交换空间,最终会导致同样的崩溃,但在此之前,它会卸载关键进程(如 sshd)进行交换,并开始执行大量交换操作,从而导致速度大幅下降。这样,当在 ddos 系统下可能会由于巨大的滞后而进入完全无法使用的状态时,我可能无法登录并终止网络服务器进程或拒绝所有传入流量(除了 ssh)。
这是正确的吗?我是否遗漏了什么(例如,即使我有足够的 RAM,交换分区在某些方面也非常有用)?我应该关掉它吗?
我正在设置 nginx 以提供 Drupal 安装服务,但我似乎发现有关 nginx 工作进程设置的信息存在冲突。一个站点说你需要两个,一个说你需要五个,一个说每个处理器一个......
我应该如何选择 nginx 工作进程的数量?如果它有所作为,那么它就是 VMWare 集群上的一个来宾 VM,我已经给了它一个虚拟处理器。
我有一个 nginx 实例,该实例设置为将访问记录到 /var/log/nginx/access.log 并将错误记录到 /var/log/nginx/errors.log,但是一旦 logrotate 每周运行,文件就会移动到*.log.1 和新的 *.log 文件被创建,但 nginx 继续记录到 log.1 文件而不是新的 .log 文件(并且没有任何内容被压缩)。我第一次注意到这一点,自日志轮换以来已经过去了 3 周,并且日志变得越来越大。运行kill -HUP `cat /run/nginx.pid`使 nginx 再次开始记录到正确的位置,但问题在下周再次出现。
这令人沮丧的更重要的原因是我将日志设置为通过 rsyslog 上传到 Loggly,当 nginx 停止记录到文件时,我有 rsyslog 轮询,然后事情停止上传,我没有收到任何警报。
我怀疑这与重新启动 nginx 或重新加载配置有关,因为它直到我进行了配置更改并以我认为正常的方式重新加载配置后才启动。我尝试运行,kill -USR1 `cat /run/nginx.pid`但文件继续记录到错误的位置,直到我运行kill -HUP `cat /run/nginx.pid`,我已经知道这不能解决问题。
知道发生了什么吗?我承认我不是 logrotate 或 nginx 管理方面的专家,但我的谷歌在这方面失败了。
这是我的 nginx logrotate 脚本,如果您还有什么想看的,请告诉我。除了定义输出位置之外,nginx.conf 在日志记录方面没有什么特别之处。
/var/log/nginx/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts …Run Code Online (Sandbox Code Playgroud) StackOverflow/ServerFault 有多少个 Web 服务器?
如果答案是“不止一个”,那么它是否在 DNS 轮询时实现了会话粘性?
我相信我已经在我的 Web 服务器 (Windows Server 2003) 上禁用了 SSL 2.0。为确保它现在使用的是 SSL 3.0,我该如何检查?
在 Web 服务器上禁用 2.0 和启用 3.0 的正确方法是什么?
我希望设置一个无 cookie 域,旨在为 Web 应用程序提供静态内容,类似于堆栈交换站点使用的http://sstatic.net/站点。
我的问题是,对于这样的域,我可以对 IIS 7.5 设置进行哪些优化?例如,除了提供静态内容之外,它永远不会负责任何事情,那么禁用 ASP.NET 集成是否是该站点的一个好举措?
非常欢迎有关使用 IIS 7.5 设置此类站点的任何建议或参考。
编辑
澄清一下,这不是服务器上唯一的站点,因此建议的优化应该针对站点级别,而不是服务器级别的配置。
请解释使用不同 Nginx WSGI 接口时的优缺点?请详细说明每种配置的区别是什么?哪种配置的扩展性最好?
如果相关,您现在正在运行什么,为什么?
我见过的一些技巧,但请告诉我是否遗漏了任何技巧:
这是我得到的错误:
重新加载 nginx 配置:nginx: [emerg] SSL_CTX_use_certificate_chain_file("/path/to/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory error:20074002:BIOroutines:FILE_CTRL:system lib 错误:140DC002:SSL 例程:SSL_CTX_use_certificate_chain_file:system lib) nginx: 配置文件 /etc/nginx/nginx.conf 测试失败
我 100% 确定该文件在该位置,但 Nginx 似乎认为它不存在。我按照这个顺序手动合并了domain.crt和intermediate.crt。我一整天都在为这个问题挠头。我希望有人已经看到了这个错误并有一个解决方案。(附带说明,在粘贴文件位置只显示一次而不是在“没有这样的文件或目录”之后再次显示时,这不是错误)。
web-server ×10
nginx ×4
ubuntu ×2
web-hosting ×2
debian ×1
encryption ×1
fastcgi ×1
hosting ×1
iis ×1
iis-7 ×1
isp ×1
linux ×1
logging ×1
logrotate ×1
mysql ×1
optimization ×1
performance ×1
php ×1
python ×1
ssl ×1
swap ×1
wsgi ×1
yslow ×1