网站搜索

如何在 Debian 8 上安装和配置 LEMP (Jessie)


设置 Linux 系统的最常见原因之一是为了托管网站。根据 NetCraft.com 2016 年 2 月对全球 100 万个最繁忙网站的调查,其中大约 15.60% 运行在 Nginx 上。

与网站很可能提供某种动态内容以及某种数据库后端相结合,管理员能够设置 LEMP 服务器对于求职者和雇主来说都是非常有利的!

本教程将介绍安装和配置 Linux 服务器(特别是 Debian 8 Jessie)以充当 LEMP 服务器的基础知识。

什么是 LEMP 服务器?

好问题!与计算世界中的大多数事物一样,LEMPLinux、Nginx、MySQL 和 PHP 的缩写。

该缩写词通常用于引用 Web 服务器上的软件集合。本教程将首先介绍LEMP的设置,特别是MySQLPHP

在深入系统的配置方面之前,了解Nginx非常重要。

什么是 Nginx?

Nginx 诞生于 2002 年,当时计算世界开始意识到具有一万个或更多并发连接的网站是非常现实的可能性,因此 Nginx 从头开始创建来解决这个问题。

安装和配置 MySQL 和 PHP

1. 第一部分将介绍 Debian 作为 MySQLPHP 服务器。 LEMP 服务器的 Linux 部分应该已经通过安装 Debian 完成了!但是,如果需要有关如何安装 Debian 的指南,请阅读以下关于 TecMint 的文章:

  1. Debian 8 Jessie 的安装

一旦 Debian 准备就绪,就可以使用“apt”元打包器通过一个快速命令来完成安装其余必要软件的过程。

apt-get install mysql-server-5.5 php5-mysql php5

根据系统硬件和互联网连接,此过程可能需要一些时间。截至撰写本文时,应用了所有更新的全新 Debian Jessie 安装需要来自存储库的大约 70MB 档案(考虑到事情完成后服务器将执行的操作,这并不是那么糟糕)!在安装过程中,系统可能会提示用户设置SQL root用户密码。这与实际 root 用户的密码不同,为了安全起见,可能应该保持不同。

2.一旦apt完成所有软件的安装,基本服务将启动并运行。然而,停在这里将是一个非常简短的教程!因此,让我们更深入地了解从 MySQL 开始安装的每个软件的配置。

3.安装MySQL后,通常建议SQL服务器在默认安装中完成一些基本的内务处理。使用mysql_secure_installation实用程序可以轻松完成此操作。

该命令只需从命令行运行,将提示用户删除匿名用户、测试数据库等内容,并删除远程 root 用户登录 SQL 数据库的能力。

mysql_secure_installation

此命令将启动交互式提示,询问有关上述主题的问题。由于 apt 已经提示输入 MySQL root 密码,因此需要输入该密码才能进行任何更改。由于已经设置了 root 密码,因此对于有关更改 MySQL 服务器上的 root 密码的提示,可以回答“否”。

4. 下一组问题将涉及匿名用户、“测试”数据库以及远程数据库的 root 访问权限。对所有这些提示回答通常是安全的,除非有特殊原因安装程序需要保留这些选项之一。

注意:删除名为“test”的数据库失败可能会出现错误,不必担心,因为数据库可能会或可能不存在,并且无论如何脚本都会继续执行所需的操作。

此时MySQL已准备就绪。如果不知道需要哪些数据库或用户,就很难进行更多配置。但是,大多数网站通常会在安装软件时自动创建必要的数据库和用户。但这非常依赖于软件,并且需要快速浏览一下软件的README文件或安装说明。

5. 现在 MySQL 已配置完毕,让我们继续为此特定服务器设置一些基本 PHP 设置。虽然 PHP 可以操作大量设置,但只有少数基本设置几乎总是需要修改。 php 配置文件位于 /etc/php5/fpm/php.ini。使用任何文本编辑器打开此文件。

nano /etc/php5/fpm/php.ini

使用 nano 的搜索功能 ctrl+w 搜索字符串“memory_limit”(省略引号)。在默认安装中,该行已设置为128M,但如果应用程序需要更多,可以更改该行以满足要求。

另一个要检查的重要选项是“max_execution_time”,默认情况下它将再次设置为30。如果应用程序需要更多,则可以更改此选项。有些人还喜欢将 php 日志记录设置到一个特殊的文件/目录。如果这是一个要求,请搜索字符串“error_log =”,然后通过删除默认情况下通常存在的分号来取消注释该行。

此时,可以将日志文件的值添加到该行的末尾。确保系统上存在该路径。对 php.ini 文件进行必要的更改后,保存更改并退出文本编辑器。此时,MySQLPHP5 已准备好开始托管站点。现在是时候配置 Nginx 了。

安装和配置 Nginx

6. Nginx(引擎 X)是一种替代且非常强大的 Web 服务器。本教程的这一部分将逐步介绍如何设置一个供 Nginx 托管的网页。配置 Nginx 的第一步是使用“apt”实用程序安装必要的软件包。

apt-get install nginx

假设满足所有依赖项,在 Web 浏览器中导航到服务器的 IP 地址应该会生成默认的 Nginx 网站。

注意:安装 Nginx 后,有时服务器不会自动启动。如果在 Web 浏览器中导航到服务器的 IP 地址没有出现以下页面,请发出以下命令以确保 Nginx 已启动。

service nginx start

Nginx 现在已成功托管默认页面。虽然 Debian 默认页面是一个华丽的网站,但大多数用户都希望托管一些自定义的内容。

7. 接下来的步骤将逐步设置 Nginx 来托管不同的网站。 Nginx 与 Apache 2 非常相似,有自己的配置目录,位于 /etc/nginx。使用cd实用程序切换到此目录。

cd /etc/nginx

在本教程中,有几个重要的文件和目录用于使用 Nginx 设置网站。前两个重要的目录是“sites-available”和“sites-enabled”目录。与 Apache 2 非常相似,Nginx 使用站点可用目录中的每个站点的配置文件,这些文件在活动时以符号方式链接到启用站点的目录中。

摆脱默认站点所需的第一件事是删除启用站点中的符号链接。

rm sites-enabled/default

8. 现在需要创建并链接一个新的站点配置文件,以便 Nginx 提供该页面。通过复制和修改默认站点配置可以简化站点配置文件的创建。

cp sites-available/default sites-available/tecmint-test

这将创建一个新的站点配置文件来使用。在文本编辑器中打开此文件以更改 Nginx 提供文件的路径。

nano sites-available tecmint-test

在此文件中,有几个重要的选项需要更改,以便 Nginx 为站点提供服务。第一行是以“root”开头的行,因为该行定义了 Nginx 应在何处为该特定站点提供文件。

本教程将其保留为默认值“/var/www/html”,并简单地将要提供的 html 文件放置在此目录中。但是,如果此服务器上有多个站点或自定义配置,请务必修改此路径。

下一行重要的是“index”行。由于本文是关于 LEMP 安装的,并且站点可能会提供 php 页面,因此需要告知 Nginx 默认页面可能是 php 页面。为此,只需将“index.php”添加到文件索引列表的末尾即可。

在启用新站点之前,需要有一些东西可供 Nginx 提供服务。默认索引页面已经存在,但为了确认另一个站点正在运行,让我们用其他内容替换默认页面的内容。

echo “It's ALIVE!” > /var/www/html/index.html

9.下一步是将刚刚创建的配置文件链接到sites-enabled目录来启用新站点。通过使用 ln 命令,然后使用服务实用程序重新加载 Nginx 的配置,可以轻松完成此操作。

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

此时,Nginx 应该可以提供新的“简单”网页。这可以通过网络浏览器导航到服务器的 IP 地址来确认!

再次强调,本文只是对 LEMP 进行非常简单的配置。大多数站点都需要对涉及的所有部分进行进一步配置,但配置选项可能有数千个!祝您选择托管网站的设置好运。