LEMP 指的是用 PHP 语言编写的网站应用的运行环境。L 表示 Linux,是一种服务器操作系统。E 表示 Nginx, 是一种 Web 服务器,简称 E,是因为它的读音是 Engine X。M 表示 MySQL 或 MariaDB,是一款数据库管理系统。P 表示 PHP,这里指的是 PHP 语言的解释器。
在线阅读
前置阅读
Linux
Linux 是一种操作系统,因为它更安全,更可靠,所以你的网站要运行在安装了 Linux 操作系统的服务器上。它有很多发行版,你可以随便选择一个,比如 CentOS 或 Ubuntu。我们有本手册介绍了 CentOS 这种 Linux 操作系统。宁皓网的服务器用的就是 CentOS 这种操作系统。
Nginx
Nginx 是一种 Web 服务器,你在服务器上安装了这种 Web 服务器软件以后,你的服务器就可以对外提供 Web 服务了。也就是用户可以访问你的服务器,去请求一些资源。如果是静态资源,比如图像,css,js 文件,Nginx 会直接返回给用户,如果用户请求的是 PHP,Nginx 会把请求交给 PHP 处理,处理之后的结果会再交给 Nginx,然后 Nginx 会把最终的结果交给当初发出请求的用户。
MySQL / MariaDB
MySQL 是一种数据库管理系统,它有个社区版叫 MariaDB,你可以任意选择其中的一个。网站上的很多内容要存储在数据库里,比如用户资料,文章,评论等等。程序语言(比如:PHP)通过接口可以把数据放到数据库系统里,也可以从数据库系统里提取数据。
PHP
PHP 在这里指的是 PHP 语言的解释器。在用 PHP 语言写的网站的运行环境里,只有 PHP 解释器懂 PHP 语言。所以 Nginx 遇到对 PHP 文件的请求,就会把请求交给 PHP 解释器。这个解释器与 Nginx 之间需要一个中间人相互沟通,这个中间人叫 PHP-FPM。
学习与生产
学会创建这套运行环境,你就已经值回学费了。我推荐一开始你可以在本地电脑上去练习创建这套环境,可以创建一台 Linux 系统的虚拟机,然后去安装并配置环境。这套方法同样适用于去创建网站的生产环境,也就是你可以购买一台云服务器,只要服务器的操作系统是 CentOS,你就可以使用同样的方法在服务器上搭建一个运行网站的环境。
下一步
对于一般的 PHP 网站来说,到目前为止,你完全可以去创建一个网站的运行环境。因为你现在已经熟悉了在命令行界面下工作,知道了怎么在本地创建 Linux 虚拟机,并且了解了一种 Linux 操作系统:CentOS。学会这些东西,会比你考个计算机等级证强多了,因为这些全部都是相当实用的东西,也是几年来我运营网站的心得体会。你现在的运维水平,可以满足一般的中小型网站的需求。单纯学会这些,你都可以把这些技能作为加薪与面试的法码。
下一步我们可以再去学一种自动化配置工具,比如 Ansible。再了解一下云服务,配置出网站的生产环境。也可以再去了解一下 Docker 。
书