Ubuntu搭建LAMP环境

LAMP环境是许多WEB程序的标配,LAMP环境包括Linux、Apache2、Mysql、PHP,作为最流行的WEB程序环境,安装的过程也在不断的被简化,在Ubuntu中安装LAMP环境甚至只需要一行命令。

一、安装和简单命令

1-1一键安装

sudo apt install -y lamp-server^

一行命令就可以搞定了,但是有个小缺憾,为了稳定Ubuntu软件源中的程序版本一般都会比程序目前最新的正式版版本号要低,并且也不会随着程序的更新而更新。以至于PHP7在2015就已经发布了,但在Ubuntu14.04中安装的依然是PHP5.5所以想要体验最新版本软件的特性,就需要自己手动安装。不过对于大多数新手,为了避免不必要的麻烦,若是没有特别需要,建议使用这一命令安装。

1-2PPA源安装

1-2-1PHP

若是想要指定安装 PHP7.2,这个过程也并不会很难,这里推荐使用添加第三方源的方式以 apt 的方式安装。

sudo apt install -y software-properties-common python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php7.2

若是不想安装 PHP7.2 版本,或是想要安装更多模块,也可以通过下列命令查看其他版本或模块的名字进行安装。

sudo apt-cache search php7-*

一般来说, PHP 是需要三个模块来组建 LAMP 环境,所以下面的模块应该一同安装,以支持 Apache2 、Mysql 。若是有其他WordPress功能或插件的需要,还需要安装其他模块。比如,php7.2-xml 和 php7.2-xmlrpc 这两个包用于支持 XMLRPC 功能,如果没有这两个包在登陆安卓版 WordPress 等需要借助此功能的软件时,将会引发错误

但如果你用不到 XMLRPC 功能,不安装这两个包将间接的禁用此功能从而提升了 WordPress 的安全性,事实上有些对安全性要求苛刻的人会禁用 XMLRPC。所以下列的包你可以有选择性的安装,一般情况安装下列的包将会避免出现一些功能无法使用的问题,建议安装

sudo apt install -y libapache2-mod-php7.2 php7.2-mysql php7.2-curl php7.2-xml php7.2-xmlrpc

如果你原先已经安装了旧版本的PHP,新安装的版本并不会覆盖旧版本,多个版本可以共存,你可以通过下列命令来禁用 PHP5 而启用 PHP7.2 。

sudo a2dismod php5
sudo a2enmod php7.2
sudo service apache2 restart

你也可以卸载掉旧版本,可以使用下列命令查看当前的PHP及组件名称。

dpkg -l | grep php*

然后通过下列命令删除。

sudo apt-get purge package

二、简介

默认情况下,LAMP  中的 Apache2 和 PHP 是以 mpm_prefork 和 mod_php 的方式相兼容的,这种情况下 PHP 是作为一个 Apache 的模块以解析 PHP 代码。还有一种兼容方式是用 CGI,简单理解就是有一个中间层处理 Apache 和 PHP 之间的关系,当需要解析 PHP 代码时 Apache 发送请求给这个中间层,中间层把请求转发给 PHP 完成解析后再返回结果。

之所以默认使用 mpm_prefork + mod_php 的模式,就是因为这种方法更加安全,但是往往安全意味着效率更低。而且目前 HTTP2 已经非常流行了,然而这种方式却无法兼容 http2 模块,所以目前推荐是以 mpm_event + php-fpm 的方式运行。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注