我有一个 64 位的 Debian 6。我想安装 lamp。在一些网站上我发现:
apt-get install apache2
其他一些:
apt-get install apache-mpm-prefork
我应该选择哪一个?
谢谢
答案1
发帖者可能对以下原因感兴趣:
- 预分叉:每个请求都有自己的(内存分离的)进程
- 工人:多线程 Apache 使用线程而不是进程,通常比 prefork 更快并且可能占用更少的内存。
由于 PHP不是线程安全的,常见建议是使用“prefork”MPM 安装 Apache。Apache MPM 之间的区别:http://httpd.apache.org/docs/2.0/en/mod/#core
简短回答你的问题:如果你正在安装 PHP,Debian 将自动选择正确的 Apache 版本。
答案2
apt-get install libapache2-mod-php5 apache2-mpm-prefork
,当你选择 mod_php5 时,安装只会apache2
导致安装 mpm_prefork
答案3
这是一个依赖关系的问题。
在这种特殊情况下,如果您安装阿帕奇2,它将安装发行版的默认依赖项,可能是apache2-mpm-worker代替apache2-mpm-prefork. 如果你需要的是预分叉,最好专门安装它,而不是通用的阿帕奇2包裹。
答案4
我建议你使用 aptitude 来完成这些任务,它将提供一个 ncurses 界面,向您显示所有依赖项,并允许您在实际安装过程之前更改选择。它简直是最好的包管理工具。
在您的例子中,您必须启动 aptitude,然后按下/
并输入 apache2(用于依赖项跟踪的虚拟包),突出显示后按下,+
将选择包及其所有依赖项,然后按下g
,在下一个屏幕中,您可以查看将要安装的内容并根据需要进行更改。完成后,g
再次按下,安装过程将开始。
编辑:对于 lamp,您还必须选择 php5 包,它为 apache 和 php cli 脚本提供所有 php 基础架构,mysql-server 包提供 mysql 服务器,php5-mysql 包提供 php mysql 和 pdo 函数。