我的VPS上有2个不同的Apache安装吗?

我是新来的服务器维护,并且正在Ubuntu 14.10上运行我刚刚设置的VPS上的Apache 2.4。 由于以下原因,似乎在机器的不同位置安装了两个不同的Apaches。

  1. 当我运行sudo /usr/local/apache2/bin/apachectl start后跟ps -A我得到这个:

      4408 ? 00:00:00 httpd 4409 ? 00:00:00 httpd 4410 ? 00:00:00 httpd 4411 ? 00:00:00 httpd 

    它使用类似的方式更新错误日志/usr/local/apache2/logs/error_log

     [Sat Feb 14 00:16:49.963014 2015] [mpm_event:notice] [pid 4542:tid 140160010012544] AH00489: Apache/2.4.12 (Unix) mod_wsgi/4.4.8 Python/2.7.8 configured -- resuming normal operations [Sat Feb 14 00:16:49.963260 2015] [core:notice] [pid 4542:tid 140160010012544] AH00094: Command line: '/usr/local/apache2/bin/httpd' 

    usr/local/apache2/conf/httpd.conf的configuration文件设置

  2. 但是,如果我运行sudo apachectl start (在停止示例1之后),然后ps -A我得到这个:

     4743 ? 00:00:00 apache2 4744 ? 00:00:00 apache2 4745 ? 00:00:00 apache2 

    它用类似的东西更新错误日志var/log/apache2/error.log

     [Sat Feb 14 00:22:06.816281 2015] [mpm_event:notice] [pid 4743:tid 139905582937984] AH00489: Apache/2.4.10 (Ubuntu) configured -- resuming normal operations [Sat Feb 14 00:22:06.816480 2015] [core:notice] [pid 4743:tid 139905582937984] AH00094: Command line: '/usr/sbin/apache2' 

    /etc/apache2/apache2.conf的configuration文件设置

我一直在尝试使用mod_wsgi和Apache来设置一个Django应用程序,并且这样做一直在编辑示例1中的configuration文件。我做了一些Googlesearch,人们似乎在说apache2.confhttpd.conf似乎互相补充 ,但在我的情况下,因为他们都设置不同的ErrorLog信息,并且一般似乎控制不同的程序,我有点困惑。

我在同一台机器上安装了两个不同的Apaches实例吗? 或者这只是正常的?

是的,你的VPS上有两个Apache安装。

你已经从ubuntu仓库安装了Apache,安装在/usr你已经从安装在/usr/local/apache2源代码中安装了Apache

现在,您在评论中指出,您尝试从源代码重新安装之前卸载Apache。 看来卸载没有正确完成。

该怎么办…

选项A:只需使用存储库中的apache:

  1. 停止从源代码构build的Apache。 sudo /usr/local/sbin/apache2/apachectl stop
  2. 只需使用从回购安装的Apache。 启动它,或者如果它已经运行,重新启动它: sudo /etc/init.d/apache2 restart
  3. 除非您从源代码构build时创build了init脚本,否则您可以安全地忽略来自源代码的安装 – 只是不要再次手动启动它,否则就没事了。

选项B:只需使用从源代码构build的Apache

  1. 停止提供apache的存储库。 sudo /etc/init.d/apache2 stop
  2. 从存储库中删除Apache。 sudo aptitude remove apache2
  3. 启动(或重新启动)你build立的Apache。 sudo /usr/local/apache2/bin/apachectl graceful

是的 – 他们报告不同的版本号,因此是不同的Apache实例。

/ usr / local / apache2是从源代码编译的apache的默认基本目录,而另一个在/ usr / sbin和/ etc中的文件是Ubuntu分发版本。

除非你有一个非常具体的理由否则最好的做法是坚持你的发行版提供的软件包。 更新将通过软件包pipe理器系统进行pipe理,并且应该与您的操作系统的其他部分保持同步。