小编iva*_*ncz的帖子

用于检查 Apache 配置的命令

我正在寻找一个命令来检查 Debian 和 RHEL 发行版上 Apache 服务器中配置文件的有效性。我需要在重新启动之前执行此操作,因此不会有停机时间。

configuration apache2

223
推荐指数
4
解决办法
40万
查看次数

如何以 /usr/sbin/nologin 作为 Shell 的用户身份运行命令?

我需要做的就是以特定用户身份运行特定脚本,该用户nologin/false/etc/passwd.

我会以 root 身份运行脚本,这应该以另一个用户身份运行。跑步:

~# su -c "/bin/touch /tmp/test" testuser
Run Code Online (Sandbox Code Playgroud)

会工作,但我需要一个有效的测试用户外壳。我知道我可以禁用密码passwd -d testuser并将外壳保留为/bin/bash这种方式会安全一点,但我需要有nologin/false外壳。

基本上我需要的是crontab当我们将作业设置为以特定用户身份运行时会做什么,而不管这个用户是否有nologin/falseshell。

ps 我发现这个线程Executing a command as a nologin user,但我不知道如何concatenate将命令su -s /bin/sh $user发送到我需要运行的脚本。

linux su login shell bash

104
推荐指数
3
解决办法
14万
查看次数

104:从上游(Nginx)读取响应头时对等方重置连接

我有一台服务器一直正常工作,直到 2013 年 10 月 3 日上午 10:50,它开始间歇性地向客户端返回“502 Bad Gateway”错误。

大约五分之四的浏览器请求成功,但大约五分之一的请求失败并显示 502。

nginx 错误日志包含数百个这样的错误;

2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk  request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk"
Run Code Online (Sandbox Code Playgroud)

但是 PHP 错误日志不包含任何匹配的错误。

有没有办法让 PHP 给我更多关于它为什么要重置连接的信息?

这是nginx.conf;

user              www-data;
worker_processes  4;
error_log         /var/log/nginx/error.log;
pid               /var/run/nginx.pid;

events {
   worker_connections  1024;
}

http {
  include          /etc/nginx/mime.types;
  access_log       /var/log/nginx/access.log;

  sendfile               on;
  keepalive_timeout      30;
  tcp_nodelay            on;
  client_max_body_size   100m; …
Run Code Online (Sandbox Code Playgroud)

php http nginx

58
推荐指数
4
解决办法
25万
查看次数

如何检查每个进程的磁盘 I/O 利用率?

我在使用 Linux 系统时遇到问题,我发现sysstatsar报告了磁盘 I/O、平均服务时间以及平均等待时间的巨大峰值。

下次发生这些峰值时,我如何确定哪个过程导致了这些峰值?

有可能sar吗?我可以从已经录制的sar文件中找到这些信息吗?

的输出sar -d,系统停顿发生在下午 12.58-13.01 左右。

12:40:01          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
12:40:01       dev8-0     11.57      0.11    710.08     61.36      0.01      0.97      0.37      0.43
12:45:01       dev8-0     13.36      0.00    972.93     72.82      0.01      1.00      0.32      0.43
12:50:01       dev8-0     13.55      0.03    616.56     45.49      0.01      0.70      0.35      0.47
12:55:01       dev8-0     13.99      0.08    917.00     65.55      0.01      0.86      0.37      0.52
13:01:02       dev8-0      6.28      0.00    400.53     63.81      0.89    141.87    141.12     88.59 …
Run Code Online (Sandbox Code Playgroud)

linux storage io

57
推荐指数
5
解决办法
18万
查看次数

无法获得 D-Bus 连接:不允许操作

我正在尝试使用在 Docker 中运行的 CentOS 映像列出服务

systemctl list-units  
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

Failed to get D-Bus connection: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

任何建议可能是什么问题?

centos systemd systemctl docker

56
推荐指数
3
解决办法
15万
查看次数

如何从 libvirt 更改默认存储池?

我正在尝试在 KVM 上使用不同的存储池,以便存储我的 VM 的虚拟磁盘以及我正在使用的操作系统的 ISO。

例如:我想使用/media/work/kvm挂载的目录/dev/sda5作为所有未来情况的默认存储池

要配置、创建和启动一个新的存储池,这很容易,但至少在 Ubuntu 中,如果我从不同的存储池中选择 ISO 并不重要,Virtual Machine Manager总是将我指向默认存储池 ( /var/cache/libvirt) 作为将创建来自我的 VM 的虚拟磁盘的存储。

我怎样才能避免这种情况?

libvirt kvm-virtualization virsh

20
推荐指数
2
解决办法
4万
查看次数

用“nodelay”选项定义“burst”是什么意思?

在 Nginx 配置中,当你想通过使用limit_req_zone/来限制请求处理速率时limit_req instructions,我不太明白该nodelay选项的用途。
在我的理解中,它会在不延迟它们的情况下终止超过定义速率的请求。所以它似乎相当于burst=0. 这就是为什么我不理解以下示例的原因:

limit_req zone=one burst=5 nodelay;
Run Code Online (Sandbox Code Playgroud)

burst定义了可以延迟的请求数量,那么定义burst是否有nodelay选项是什么意思?

nginx rate-limiting

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

nic:邪恶的事情发生了!噗

我正在使用 Debian Stretch (9.7) 配置 GNU/Linux 路由器,在重新启动服务器之前,从一个接口到另一个接口的所有流量都正常,但在那之后,我收到了这样的消息 (tty):

enp1s6: Something Wicked happened! ffff.
Run Code Online (Sandbox Code Playgroud)

我在同一交换机和同一网络上有一台主机,用于测试目的,基本上,路由器的 LAN 不响应回显请求。

这里有一些关于服务器的信息。

内核日志

Jan 25 08:58:02 server001 kernel: [25060.494127] enp1s6: Link changed: 
Jan 25 08:58:02 server001 kernel: [25060.494127] 100Mbps, half duplex
Jan 25 08:58:02 server001 kernel: [25060.494254] enp1s6: Something Wicked happened! ffff.
Jan 25 08:58:02 server001 kernel: [25060.497338] enp1s6: Link up
Jan 25 08:58:02 server001 kernel: [25060.497557] enp1s6: Link changed: 
Jan 25 08:58:02 server001 kernel: [25060.497557] 100Mbps, full duplex
Jan 25 08:58:02 server001 kernel: [25060.499986] …
Run Code Online (Sandbox Code Playgroud)

debian icmp ethtool linux-networking linux-kernel

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

如何获得 logrotate dateext 以反映日志日期而不是轮换日期?

我的 Apache logrotate 配置如下所示:

/var/log/http/*log {
    monthly
    dateext
    dateformat .%Y.%m
    [... rest stripped for brevity ...]
}
Run Code Online (Sandbox Code Playgroud)

这很好用,除了旋转文件名上的日期比日志实际涵盖的时间晚一个时间段,例如error_log.2012.09涵盖 2012-08-01 到 2012-08-31。

我意识到 Apache 有其他选项(例如 cronolog),但我还有一堆其他日志需要轮换,除了这个问题之外,logrotate 确实正是我所需要的。

有没有办法让 logrotate 在生成旋转的文件名时使用日期偏移量——或者,更好的是,找出前一个时间段?

logging logrotate date

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

11:资源暂时不可用,连接upstream + Bad Gateway (Nginx)

对于我的新服务器上的所有站点,似乎一旦nginx提供了一定数量的流量,它就会开始提供“错误 502 - 错误网关! ”。

让我们来看看一些日志和配置...

  • 操作系统:Ubuntu 16.04(服务器)

  • 硬件:6核,12GB内存

  • 面板:ISPConfig

  • nginx 版本:1.10.3

来自/var/www/example/log/error.log

11: Resource temporarily unavailable) while connecting to upstream, client: 216.170.123.179, server: example.com, request: "GET /KHFxygk9 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/"
2017/08/10 06:01:06 [error] 15408#15408: *31372 connect() to unix:/var/lib/php7.0-fpm/web3.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 192.3.114.12, server: example.com, request: "GET /jiPNQjwp HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/"
Run Code Online (Sandbox Code Playgroud)

这是我的配置文件:

  • /etc/php/7.0/fpm/pool.d/www.conf

[www]    
user = …
Run Code Online (Sandbox Code Playgroud)

linux http nginx php-fpm php7

6
推荐指数
2
解决办法
2万
查看次数

如何通过squid透明转发HTTPS流量?

我想将所有 HTTP 和 HTTPS 流量重定向为squid充当透明代理。然后,该流量将在特定时间内被阻止或授权(批量)。具体来说,我不想解密/重新加密 HTTPS 流量,而是按原样推送。

HTTP 部分起作用,REDIRECT规则将shorewall所有打算发送到目标端口的流量传输80到模式下的侦听3128鱿鱼端口transparent

同样的技巧对于端口443不起作用。

有关于如何为 HTTPS 流量设置透明代理的教程,但我发现的所有教程都描述了创建证书对来解密/重新加密流量 - 这是我不想做的事情。

鱿鱼维基提到 CONNECT 作为隧道 HTTPS 流量的一种方式,但添加http_access allow CONNECT all到配置(并禁用默认值deny)不会改变任何东西。

然后,之前的 一些答案表明,在不破坏 TLS 隧道的情况下,透明的 HTTPS 流量是不可能的。

因此:是否有一种方法可以配置,squid以便通过重新路由到它的 HTTPS 流量iptables然后透明地传输,而不需要任何修改?

(当满足某些时间规则时,我最终会阻止(这就是说,该阻止不会基于 HTTPS 流本身内的任何内容))

https squid transparent-proxy

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

Zabbix 上的被动检查有什么好处?

官方文档在这里

被动检查= Zabbix 服务器轮询

主动检查= Zabbix 客户端(代理)推送

被动检查有什么好处?它需要在客户端上打开一个额外的端口。

zabbix zabbix-agent

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