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

con*_*adg 4 linux httpd httpd.conf apache-2.4 ubuntu-14.10

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

  1. 当我跑步时sudo /usr/local/apache2/bin/apachectl startps -A我得到了这个:

     4408 ?        00:00:00 httpd
     4409 ?        00:00:00 httpd
     4410 ?        00:00:00 httpd
     4411 ?        00:00:00 httpd
    
    Run Code Online (Sandbox Code Playgroud)

    /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'
    
    Run Code Online (Sandbox Code Playgroud)

    由在以下位置找到的配置文件设置 usr/local/apache2/conf/httpd.conf

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

    4743 ?        00:00:00 apache2
    4744 ?        00:00:00 apache2
    4745 ?        00:00:00 apache2
    
    Run Code Online (Sandbox Code Playgroud)

    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'
    
    Run Code Online (Sandbox Code Playgroud)

    由在以下位置找到的配置文件设置 /etc/apache2/apache2.conf

我一直在试图建立与mod_wsgi的和Apache一个Django应用程序,并在这样做已编辑例子1.我做了一些谷歌搜索,人们似乎在说,在配置文件apache2.conf,并httpd.conf似乎互相恭维,但在我的情况,因为他们都设置了不同的ErrorLog信息,而且通常似乎控制不同的程序,我有点困惑。

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

sym*_*ean 6

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

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

除非您有非常具体的原因,否则最好坚持使用发行版提供的软件包。更新将通过包管理器系统进行管理,它应该与操作系统的其余部分保持同步。


Joe*_*man 5

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

你已经从 ubuntu 存储库安装了/usr Apache ,安装在你已经从安装的源代码安装了 Apache/usr/local/apache2

现在,您在评论中表示您在从源代码重新安装之前尝试卸载 apache。卸载似乎没有正确完成。

该怎么办呢...

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

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

选项 B:只需使用您从源代码构建的 apache

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