我有一个带有一堆 IP 地址的服务器,我只希望 Apache 监听其中一个。这听起来并不难,我前一段时间也做过一次,但这次我遇到了一些麻烦。首先,这是我现在所处的位置,据我所知:
Apache 侦听端口 80 的每个地方,它只侦听正确的 IP。
/etc/apache2$ grep -R ":80" .
./sites-available/default:<VirtualHost 192.168.0.82:80>
./httpd.conf:<VirtualHost 192.168.0.82:80>
./ports.conf:NameVirtualHost 192.168.0.82:80
./sites-enabled/000-default:<VirtualHost 192.168.0.82:80>
Run Code Online (Sandbox Code Playgroud)
没有提到在 0.0.0.0 上听。
/etc/apache2$ grep -R "0\.0\.0\.0" .
Run Code Online (Sandbox Code Playgroud)
然而... Apache 拒绝启动。
/etc/apache2$ sudo /etc/init.d/apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
Run Code Online (Sandbox Code Playgroud)
如果有人问,我不受该地址的约束:
/etc/apache2$ sudo netstat …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,我想迁移到 EC2。它可能会花费超过半天的时间完全处于休眠状态,因此我正在尝试提出一个很好的解决方案来根据需要启动和停止它。从无到有需要几分钟才能启动,所以如果我能让操作系统休眠以便更快地恢复,那就太好了。我在 EC2 中看到了几个关于休眠主题的论坛讨论,但从来没有任何结论。有没有人找到一个可行的解决方案,或者至少有一些可以帮助我的资源?
我正在使用 Apache 2.4 和 PHP 5.5 在 CentOS 6.6 上运行 WHM/cPanel 服务器。每周左右,所有六个内核的 CPU 使用率都会飙升至 100%,并一直保持到 Apache 重新启动,此时一切都会恢复正常。有趣的是,Apache 的server-status
页面似乎并不知道这些进程存在:
最佳:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25901 nobody 20 0 1973m 28m 276 R 74.8 0.4 3:39.30 httpd
24861 nobody 20 0 1973m 28m 280 R 74.1 0.4 12:05.31 httpd
25076 nobody 20 0 1973m 28m 276 R 65.8 0.4 10:09.38 httpd
24727 nobody 20 0 1973m 28m 280 R 64.5 0.4 14:37.09 …
Run Code Online (Sandbox Code Playgroud)