我是服务器维护新手,昨天刚安装的 VPS 上的 Ubuntu 14.10 上运行着 Apache 2.4。由于以下原因,我似乎在机器的不同位置安装了两个不同的 Apache。
当我
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
但是,如果我运行
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
我一直在尝试使用 mod_wsgi 和 Apache 设置一个 Django 应用程序,并在这样做的过程中一直在编辑示例 1 中的配置文件。我做了一些谷歌搜索,人们似乎都在这么说,apache2.conf
而且httpd.conf
似乎互相称赞,但就我而言,由于它们都设置了不同的 ErrorLog 信息,并且通常似乎控制不同的程序,所以我有点困惑。
我是否在同一台机器上安装了两个不同的 Apache 实例?或者这只是正常现象?
答案1
是的,您的 VPS 上安装了两个 Apache。
您已从 ubuntu 存储库安装了 Apache,安装在/usr
您已从源代码安装了 Apache,安装在/usr/local/apache2
现在,您在评论中说您尝试在从源代码重新安装之前卸载 apache。看来卸载没有正确完成。
该怎么办呢……
选项 A:只需使用存储库中的 apache:
- 停止您从源代码构建的 apache
sudo /usr/local/sbin/apache2/apachectl stop
。 - 只需使用从 repos 安装的 apache。启动它,或者如果它已经在运行,请重新启动它:
sudo /etc/init.d/apache2 restart
- 除非您在从源代码构建时创建了初始化脚本,否则您可以安全地忽略从源代码进行的安装 - 只要不要再次手动启动它就可以了。
选项 B:直接使用你从源代码构建的 Apache
- 停止 apache 提供的存储库。
sudo /etc/init.d/apache2 stop
- 从存储库中删除 apache。
sudo aptitude remove apache2
- 启动(或重新启动)您构建的 apache。
sudo /usr/local/apache2/bin/apachectl graceful
答案2
是的 - 他们报告的版本号不同,因此是不同的 Apache 实例。
/usr/local/apache2 是从源代码编译的 apache 的默认基本目录,而 /usr/sbin 和 /etc 中的文件是 Ubuntu 分布式版本。
除非您有非常特殊的原因,否则最好坚持使用发行版提供的软件包。更新将通过包管理器系统进行管理,并且应与您的操作系统的其余部分保持同步。