我有一个在非 root 用户下运行的脚本,在某些情况下,它应该重新启动 apache httpd。
对我来说,允许用户这样做的最简单方法是什么?
我使用的是 Ubuntu Server 8.04 LTS。
在 Unix 中有没有办法查看磁盘上最大的目录?
我需要知道为什么我几乎用完服务器上的空间,但我不知道大部分空间用在哪里..
谢谢
Ubuntu 服务器 10.04.1 x86
我有一台在 nginx 后面带有 FCGI HTTP 服务的机器,它为许多不同的客户端提供许多小的 HTTP 请求。(高峰时段每秒大约 230 个请求,平均响应大小为 650 字节,每天有数百万个不同的客户端。)
结果,我有很多套接字,挂在 TIME_WAIT 中(使用下面的 TCP 设置捕获图表):

我想减少套接字的数量。
除了这个我还能做什么?
$ cat /proc/sys/net/ipv4/tcp_fin_timeout 1 $ cat /proc/sys/net/ipv4/tcp_tw_recycle 1 $ cat /proc/sys/net/ipv4/tcp_tw_reuse 1
更新:有关机器上实际服务布局的一些详细信息:
客户端-----TCP-socket--> nginx(负载均衡器反向代理)
-----TCP-socket--> nginx (worker)
--domain-socket--> fcgi-software
--single-persistent-TCP-socket--> Redis
--single-persistent-TCP-socket--> MySQL (其他机器)
我可能应该切换负载平衡器 --> 工作线程连接到域套接字,但关于 TIME_WAIT 套接字的问题仍然存在——我计划很快在单独的机器上添加第二个工作线程。在这种情况下将无法使用域套接字。
我运行这个命令并得到了这个结果,但无法理解我应该杀死哪个节点实例的结果
ps ax | grep node
23308 pts/3 S+ 0:00 sudo node index.js
23310 pts/3 Sl+ 0:00 node index.js
23568 pts/1 T 0:00 sudo node index.js
23824 pts/4 S+ 0:00 sudo node index.js
23826 pts/4 Sl+ 0:00 node index.js
24202 pts/5 R+ 0:00 grep --color=auto node
Run Code Online (Sandbox Code Playgroud)
什么 S+ Sl+ T, R + Means .?
我正在尝试通过“具有大量连接和小数据包高流量的千兆网络”来提高我的 TCP 吞吐量。我的服务器操作系统是 Ubuntu 11.10 Server 64bit。
大约有 50.000 个(并且还在不断增加)客户端通过 TCP 套接字(都在同一个端口上)连接到我的服务器。
我 95% 的数据包大小为 1-150 字节(TCP 标头和有效负载)。其余 5% 从 150 到 4096+ 字节不等。
使用下面的配置,我的服务器可以处理高达 30 Mbps(全双工)的流量。
您能否建议最佳实践以根据我的需要调整操作系统?
我的/etc/sysctl.cong看起来像这样:
kernel.pid_max = 1000000
net.ipv4.ip_local_port_range = 2500 65000
fs.file-max = 1000000
#
net.core.netdev_max_backlog=3000
net.ipv4.tcp_sack=0
#
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.somaxconn = 2048
#
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
#
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_mem = 50576 64768 98152
#
net.core.wmem_default = …Run Code Online (Sandbox Code Playgroud) 我正在 Ubuntu 12.04 中使用 lxc,它真的很棒。但是,连接lxc-console后我无法从会话断开连接。我在某处读到Ctrl-aq会断开我与控制台的连接,但它似乎不起作用。
我应该运行lxc-console通过screen呢?
我尝试了很多搜索,但无法找到如何实际设置 ubuntu 服务器,以便我可以使用 php 中的 mail() 函数通过 php 发送邮件。
我的服务器上安装了 apache2、mysql 和 php5。
谢谢你。
通常,我运行aptitude -y install locales然后dpkg-reconfigure locales设置语言环境。
现在我想把它放到一个 shell 脚本中,我怎样才能可靠地自动/非交互地执行以下操作?
en_US.UTF-8并将其设置为系统默认值/etc/default/locale包含LANG=en_US.UTF-8预期的唯一条目几天前,我发现我无法再在与 OS X 主机共享的任何目录中从 Ubuntu 创建符号链接。
ln: creating symbolic link `foo': Read-only file system
Run Code Online (Sandbox Code Playgroud)
我可以直接在非共享文件夹和 OS X 上创建符号链接。我也试过运行磁盘修复,但没有发现错误。
设置:
我正在运行 Ubuntu LTS 并且在尝试执行我的一些 pip 安装内容时遇到错误,例如scrapy。这是我得到的错误:
Unable to execute gcc: No such file or directory
Error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我正在 virtualenv 中安装 pip。我尝试使用以下命令安装 build Essentials,但仍然出现相同的错误:
apt-get -y install build-essential
Run Code Online (Sandbox Code Playgroud)
谁能帮我理解我哪里出错了?
编辑 - 更多信息:
ubuntu@ip-10-164-8-155:/var/log$ gcc -v
The program 'gcc' can be found in the following packages:
* gcc
* pentium-builder
Try: sudo apt-get install <selected package>
Run Code Online (Sandbox Code Playgroud) ubuntu ×10
linux ×3
apache-2.2 ×2
debian ×1
gcc ×1
high-load ×1
kernel ×1
localization ×1
lxc ×1
mac-osx ×1
networking ×1
nginx ×1
permissions ×1
php ×1
ps ×1
sysctl ×1
unix ×1
virtualbox ×1
virtualenv ×1