Articles of linux

apache进程closures服务器的stream量

我们在CentOS 7上运行LAMP堆栈。大概一年没事了。 但是今天我们只看到了loading averages 。 我们检查top没有看到任何高负载的特定进程,但有一个非常多的Apache进程stream运行。 试图重新启动Apache几次,但没有帮助。 最后决定重新启动MySQL 。 这短暂地减less了负载,但不是很长。 然后决定重新启动服务器。 这也只是简单地减less了负载。 日志不显示太多的外部连接: $ sudo tail -n 500 /var/log/httpd/access_log | cut -d' ' -f1 | sort | uniq -c | sort -gr 395 ::1 101 127.0.0.1 3 66.102.6.91 1 66.102.6.89 会发生什么事? 我们如何解决这个问题? 编辑1:更多细节 负荷平均值介于50和300之间。在某一点上,我们有这样的: $ uptime 10:33:28 up 317 days, 22:36, 2 users, load average: […]

正确的方式来设置下载守护进程,关于权限

我是一个Linux新手,我正在设置一个单板计算机用于下载文件,等等。 为此我安装了aria2下载工具。 build立这样一个服务的基本安全和权限的正确方法是什么? 这就是我想到的: 我的理解是,关于面向外部服务的普遍共识是为他们创build一个单独的用户帐户。 所以我用/usr/sbin/nologin作为shell创build了一个“system”用户。 aria2喜欢将其configuration文件存储在主目录中,所以我在/home/aria2目录中创build了它的/home/aria2目录。 最后,该服务将被多个用户使用,他们都可以访问下载的文件。 所以我在/srv创build了一个单独的目录来存储下载的文件,并将其分配给download组。 我添加了aria2用户和这些用户到download组。 我有兴趣,如果这是健全的做法,如果不是为什么? 具体的问题是关于aria2,但我相信一般的准则适用于其他软件。

如何使AWS CLI在我的服务器中更安全?

我是AWS CLI的新手,但有一点让我感到困扰,就是我需要将凭据存储在一个文件中。 我在S3上有几个buckets ,并为我的应用程序创build了一个帐户,这个帐户只能访问这个存储桶。 但是,如果我的服务器遭到黑客攻击,攻击者可以轻松读取我的.aws/credentials文件并销毁我的存储桶中的所有内容。 那么,我们公司会遇到很大的问题,因为我们依靠AWS很多! 有没有build议增加这种情况下的安全性? 我可以完全理解,如果我的服务器被黑客入侵,并且有sudo接入,我的机会很渺茫,但是我想尽可能地避免任何损害。

为什么iptables不能按预期工作?

我已经把这四个filter与iptables: iptables -I FORWARD -p udp -i eth0 -j DROP iptables -I FORWARD -p udp -o eth0 -j DROP iptables -I INPUT -p udp -i eth0 -j DROP iptables -I OUTPUT -p udp -o eth0 -j DROP 希望在eth0上丢掉任何udp数据包,但是当我这样做的时候: tcpdum udp -vv -i eth0 我仍然看到UDP包来去。 任何人都可以解释吗? 并告诉我如何真正在特定的接口上下载UDP包? (例如eth0 )

尝试增加centos-root分区大小以消耗完整的SSD容量

我有一个容量为160GB的ssd上安装了cent-os 7。 Cent-OS分区总共只占用20GB,所以当我运行fdisk -l这是我的输出: Disk /dev/sda: 171.8 GB, 171798691840 bytes, 335544320 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000a2b1e Device Boot Start End Blocks Id System /dev/sda1 * 2048 […]

OVH和Proxmoxnetworking设置

我有以下的Debiannetworkingconfiguration 主IP:1.2.3.4子网1:8.1.2.248/29子网2:15.1.2.0/29 主要主机networkingconfiguration: # network interface settings; autogenerated # Please do NOT modify this file directly, unless you know what # you're doing. # # If you want to manage part of the network configuration manually, # please utilize the 'source' or 'source-directory' directives to do # so. # PVE will preserve these directives, but […]

如何正确使用bash中的“nohup”和“&”作为另一个用户来运行程序

过去几个月,我一直在学习bash和linuxpipe理,同时生产越来越多的需要在后台运行的代码。 理想情况下,我希望使我的开发系统更接近于生产环境,以避免由于安全和权限问题而重新开发代码。 一般来说,我会运行的东西: $nohup <program> <program args> >> <program logfile> 2>&1 & 即: $nohup ping 192.168.0.1 >> ping.log 2>&1 & 然而,今天我试图通过创build一个用户,并给予他们正确的权限,只能够访问自己的文件,没有别的正确的设置。 这似乎是一个明智的安全做法。 我会这样做: $sudo -u <program user> nohup <program> <program args> >> <program logfile> 2>&1 & 但是,当我运行ps aux | grep <program>时会导致以下输出 ps aux | grep <program> : <admin user>@server:~$ ps aux | grep <program> root […]

查找与特定stream程链接的IP

在Linux机器上查找与特定进程相关的IP最直接的方法是什么? 如果进程使用的端口专门用于这个进程,那么这个任务很简单:通过将数据包捕获过滤到那个端口,我会发现数据包链接到进程。 当多个进程同时使用感兴趣的端口时,它变得不那么明显。 在这种情况下,我怎样才能区分一个特定选定进程接收到的数据包?

Nginx为什么我的服务器在localhost上提供正确的内容,但不是0.0.0.0

我试图从我的服务器获取数据,但如果我尝试从localhost/my/api它给400,但如果我尝试从localhost/my/api它给我需要的内容。 我正在使用nginx,这里是服务器的configuration文件 server { listen 80; server_name localhost 54.149.242.144; access_log /var/log/nginx/myapp.log; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/myapp; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 另外如果我做一个netstat我得到这个服务器 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8080/nginx 为什么它只能从本地主机给我正确的内容,并从0.0.0.0地址给我400的? 也是这样做,所以我不能从外部机器访问API。 最后,我使用gunicorn作为后端服务器,并使用nginx来反向代理gunicorn。

用stracedebugging慢速WordPress站点

我试图find一个非常缓慢的WordPress网站的底部:请求一个页面,它挂起大约20秒,才开始加载页面。 我试过平常的事情:WPdebugging模式,检查慢MySQL查询,禁用插件,检查Apache不排队请求等,没有喜悦。 我现在用strace来看Apache的过程(我正在运行PHP作为mod_php),试图看看发生了什么。 不幸的是我的核心function很弱,我需要一些帮助来解释strace输出。 我正在用-r运行strace,如果我正确理解man页面,这将显示前一个sys调用的时间。 看看输出,我看到几个电话5秒,例如: 0.000114 accept4(4, {sa_family=AF_INET6, sin6_port=htons(46242), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28], SOCK_CLOEXEC) = 13 0.000116 getsockname(13, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0 0.000109 fcntl(13, F_GETFL) = 0x2 (flags O_RDWR) 0.000061 fcntl(13, F_SETFL, O_RDWR|O_NONBLOCK) = 0 0.000078 read(13, "GET /wp-content/uploads/fake-ici"…, 8000) = 593 0.000144 stat("/var/www/wp-content/uploads/fake-icicles-500×500.jpg", {st_mode=S_IFREG|0777, st_size=34241, […]