我正在尝试将 nginx 设置为具有大量后端服务器的反向代理。我想按需启动后端(在第一个请求时),所以我有一个控制过程(由 HTTP 请求控制),它根据它收到的请求启动后端。
我的问题是配置 nginx 来做到这一点。这是我到目前为止所拥有的:
server {
listen 80;
server_name $DOMAINS;
location / {
# redirect to named location
#error_page 418 = @backend;
#return 418; # doesn't work - error_page doesn't work after redirect
try_files /nonexisting-file @backend;
}
location @backend {
proxy_pass http://$BACKEND-IP;
error_page 502 @handle_502; # Backend server down? Try to start it
}
location @handle_502 { # What to do when the backend server is not up
# Ping our control server to start the …Run Code Online (Sandbox Code Playgroud) 有一些程序可以使用树状图显示已用磁盘空间,例如 Windows 的 WinDirStat 和 KDE/Linux 的 KDirStat:

我正在寻找类似的东西,但要找一个无头的 Linux 机器。(例如,在服务器上运行控制台数据收集程序,然后在 GUI 环境中的图形程序中加载文件。)
或者,仅通过 SSH 访问即可获得结构化的已用磁盘空间表示的其他好方法是什么?
nginx$scheme在其log_format行中有可用的变量。
%H 是请求协议(例如“HTTP/1.1”)。
我怎样才能对 Apache 做同样的事情?
我维护了一个包含一些服务的 Gentoo 服务器,包括 Apache。它是相当低端的(2GB 内存和具有 2 个内核的低端 CPU)。我的问题是,尽管我尽了最大的努力,但过载的 Apache 还是会导致整个服务器崩溃。事实上,在这一点上,我几乎确信 Linux 是一个可怕的操作系统,不值得任何人花时间寻找负载下的稳定性。
我尝试过的事情:
只是强调一下:我不在乎 Apache 本身是否在负载下宕机,我只希望系统的其余部分保持稳定。当然,让 Apache 在短暂的密集负载后快速恢复会很棒,但一次一个步骤。
现在,我对人类如何能在这个时代设计一个操作系统而感到震惊(不允许一个系统组件使整个系统崩溃)实际上是不可能的 - 或者至少,非常难做。
请不要建议诸如 VM 或“购买更多 RAM”之类的东西。
在朋友的帮助下收集的更多信息: 当调用 cgroup oom 杀手时,进程挂起。这是调用跟踪:
[<ffffffff8104b94b>] ? prepare_to_wait+0x70/0x7b [<ffffffff810a9c73>] mem_cgroup_handle_oom+0xdf/0x180 [<ffffffff810a9559>] ? memcg_oom_wake_function+0x0/0x6d [<ffffffff810aa041>] …
我想从一台机器执行增量备份(针对整个文件系统)。rsync这确实会,但是我还想保留文件所有权 - 意思是可以恢复它。
如果不rsync以 root 身份在目标机器上运行(存储备份),是否可以做到这一点?
一些想法...
chown非root用户的方式挂载文件系统(FUSE?)?(我想可能需要noexec禁止提升。)tar可以存储文件所有权,尽管让它与 rsync 或增量备份一起使用会更复杂一些。能够像常规文件系统一样浏览备份也很好。我们有一台服务器(4GB RAM,两个 4 核 Intel Xeon E5420)执行以下任务:
我们预计在接下来的几周内会有大量(多达数十万)用户涌入。我的上司担心我们当前的设置可能无法处理负载,并正在考虑转向云托管 - 但是,我不相信这会有所帮助。根据我对云计算的理解,虚拟化不会有太大帮助,除非我们可以将工作负载分摊到多台机器上(除非它们的单个服务器比我们的服务器强大得多)。他们提供 MySQL 集群,但是后端脚本只是读取/写入几行中的一些值,并且不执行任何计算密集型 SQL 查询,所以我再次不确定 MySQL 集群与 Apache/ PHP 开销 + MySQL 网络延迟。至于网站,
那么,云托管会给我们带来任何好处吗?
我正在寻找一种方法来实现接近以下备份方案的东西:
这可以使用 LVM(或其他方式)实现吗?它需要跟踪自上次备份以来哪些块变脏了,我不确定 LVM 可以做到这一点……我宁愿避免始终在 LVM 快照上运行的永久性性能成本。