我最近在我的计算机上安装了 xubunutu 14.04,今天我注意到我的计算机上运行着几个 apache2 实例,下面是列表
在此之前我只安装了owncloud服务器,
是否可以通过查看某些配置文件来识别使其运行的包,从而找出这些不同的 apache2 实例运行的原因?我最近安装了 owncloud 服务器,然后就开始发生这种情况了。
谢谢,
答案1
这些是您的网页在某个地方打开的情况。我不会担心。每次有人(或某物)在您的网络服务器上打开页面时,该进程都会启动。该进程不会告诉您谁(www-data 之外)正在访问您的页面。但是,您的 Apache 服务器日志会。当页面关闭时,这些进程将清除。您可以自己尝试这个答案:执行:
ps -ef | grep apache2 | wc -l
然后打开浏览器并访问您的网站。然后重新运行
ps -ef | grep apache2 | wc -l
您应该看到数字增加。然后关闭浏览器。并运行
ps -ef | grep apache2 | wc -l
只要您在此期间没有获得更多的流量,这个数字就会再次下降。
此时,您可能会问自己,如果 Apache2 每次访问网页时都会生成一个新进程,那么当许多人同时访问我的页面时,我的系统是否容易加载?答案是肯定的,这种情况确实会发生,但您需要数千个并发连接才会成为问题。如果您确实遇到这些问题,请切换到 nginx,它以不会创建多个并发进程的方式处理线程。
要查看谁在访问您的页面,请读取以下位置的日志(访问和错误):/var/log/apache2/
答案2
做这个:
dpkg -l | grep apache2
通过这个您可以读取您安装的模块。
apache2 默认安装 prefork mpm。这是必需的,因为几个扩展(owncloud 的 mod_php)不是线程安全的,与此模块配合会更好。您可以尝试基于线程的 worker mpm,但对于 php 程序,您需要重新配置服务器并且不使用 mod_php,而是使用 fastcgi(php-fpm)