小编Pau*_*xon的帖子

高LOC中断的原因是什么?

我看到 LOC 中断出现了巨大的峰值——大约每秒 400 万次,LOC 中断究竟是什么,什么会导致这些峰值,我该怎么办?

这是说明这些尖峰的穆宁图:

                    中断图

这是同一时期的 CPU 图表,显示了它是如何完全接管的。我喜欢这种颜色让服务器看起来在这些时期着火了......

                    CPU图

这是一个运行 Ubuntu 8.04 的双四核 Xeon 服务器。报告的内核版本uname是 2.6.24-24-server。

这是 /proc/interrupts 的内容

           CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
  0: 6930 6762 6633 6841 6760 6863 6692 6809 IO-APIC-edge timer
  1: 0 0 0 0 0 1 1 0 IO-APIC-edge i8042
  8: 3 2 4 3 7 5 6 3 IO-APIC-edge rtc
  9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
 12: 1 0 0 1 0 …

ubuntu interrupts irq

21
推荐指数
1
解决办法
3万
查看次数

仅当存在合适的文档根目录时才使用 VirtualDocumentRoot

我想建立一个环境,可以在不重新加载配置的情况下动态创建 Apache 虚拟主机。

我可以用mod_vhost_alias做到这一点,我设置了我的默认虚拟主机这样的

<VirtualHost *>
  UseCanonicalName Off
  VirtualDocumentRoot /var/www/sandboxes/domains/%0
  ServerName catchall.host
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但如果请求当前未设置的主机名,我会收到 404 Not Found 错误。

真正想做的是仅当文档根存在时才启动这个 VirtualHost ,否则让它尝试匹配另一个虚拟主机(换句话说,使VirtualDocumentRoot的存在以与使用相同的方式工作服务器别名)

我尝试将其设为第二个 vhost,第一个 vhost 仅处理所有请求,但这不起作用 - 对配置 VirtualDocumentRoot 的域的请求落入默认 vhost。

那么,我怎样才能动态配置虚拟主机,但对于任何尚未配置的虚拟主机,又可以回退到另一个虚拟主机呢?

virtualhost apache-2.2

8
推荐指数
1
解决办法
7681
查看次数

mod_rewrite REQUEST_FILENAME 不包含绝对路径

我在测试是否%{REQUEST_FILENAME}存在的 mod_rewrite RewriteCond 条目中的文件测试操作有问题。似乎%{REQUEST_FILENAME}我得到的不是一条绝对路径,而是一条根植于 the 的路径DocumentRoot

配置

<VirtualHost>在我的 apache 2.2.9 配置中的一个块中有这个:

RewriteEngine on
RewriteLog /tmp/rewrite.log
RewriteLogLevel 5

#push virtually everything through our dispatcher script
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([^/]*)/?([^/]*) /dispatch.php?_c=$1&_m=$2 [qsa,L]
Run Code Online (Sandbox Code Playgroud)

尝试诊断

该规则是通过脚本路由对不存在的文件或目录的请求的常用习惯用法。问题是,即使文件确实存在,它也会触发。

如果我删除规则,我可以请求普通文件就好了。但是随着规则到位,这些请求被定向到 dispatch.php

重写日志跟踪

这是我在 rewrite.log 中看到的

init rewrite engine with requested uri /test.txt
applying pattern '^/([^/]*)/?([^/]*)' to uri '/test.txt'
RewriteCond: input='/test.txt' pattern='!-f' => matched
RewriteCond: input='/test.txt' pattern='!-d' => matched
rewrite '/test.txt' -> '/dispatch.php?_c=test.txt&_m='
split …
Run Code Online (Sandbox Code Playgroud)

mod-rewrite apache-2.2

7
推荐指数
1
解决办法
4904
查看次数

Docker容器无法连接到一个特定的外部IP,但主机可以

这是一个谜题,我希望通过写一个 StackOverflow 问题,我能获得一些新的见解。

简而言之,我试图弄清楚为什么我可以从主机访问https://sts.nih.gov ,但​​当其他站点工作正常时却不能从同一主机上的 docker 容器访问

我如何重现该问题...

我有一台基于云的机器(Digital Ocean),它可以愉快地建立一个 https 连接sts.nih.gov

# from host machine
curl -vv -o /tmp/test https://sts.nih.gov
Run Code Online (Sandbox Code Playgroud)

如果我在新的 docker 容器上获得 shell,我将无法访问该站点

 # get a shell within a container 
 docker run -ti ubuntu:18.04 /bin/bash

 # attempt same request...
 curl -vv --ipv4 -o /tmp/test https://sts.nih.gov
* Rebuilt URL to: https://sts.nih.gov/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 …
Run Code Online (Sandbox Code Playgroud)

tcpip docker

7
推荐指数
1
解决办法
1万
查看次数

如何确定未分区的空间

我在几年前设置的系统上使用 LVM。当时我在驱动器上留下了一些未分区的空间,以便我可以创建 LVM 快照。

我现在已经忘记了我预留了多少空间。

我怎么能看到多少是免费的?

linux lvm

1
推荐指数
1
解决办法
595
查看次数

标签 统计

apache-2.2 ×2

docker ×1

interrupts ×1

irq ×1

linux ×1

lvm ×1

mod-rewrite ×1

tcpip ×1

ubuntu ×1

virtualhost ×1