如何在CentOS 6/7上安装LEMP Stack

本教程将向您展示如何安装Nginx,生成免费的Let’s Encrypt SSL证书,安装和保护MySQL以及在CentOS 6/7上安装PHP 7。

什么是LEMP堆栈

LEMP是一组免费软件名称首字母缩写词,通常一起用于运行动态网站或服务器。

  • 大号 – Linux操作系统
  • Ë – Nginx HTTP和反向代理服务器
  • 中号 – MySQL或MariaDB关系数据库管理系统
  • P – PHP编程语言。

此系列的一部分的详细教程在本页的结尾列出。

如果您想阅读更详细的文档,可以按照“快速入门”部分在CentOS 6/7服务器上安装LEMP Stack。

要求

在此之前,您必须拥有一个具有sudo特权的帐户,并确保您的CentOS 6/7服务器可以访问Internet。

在CentOS 6/7上安装LEMP堆栈的步骤

步骤1.安装Nginx

Nginx在默认的CentOS 6/7存储库中不可用,因此我们将使用EPEL存储库。 要将EPEL存储库添加到您的系统,请使用以下命令:

sudo yum install epel-release

既然已经启用了EPEL存储库,请使用以下命令安装Nginx软件包:

sudo yum install nginx

安装完成后,输入以下命令启动并启用Nginx服务:

#centos 6
sudo service nginx start
sudo service nginx enable
#centos 7
sudo systemctl start nginx
sudo systemctl enable nginx

第2步。安装MariaDB

下一步是安装MariaDB软件包。 为此,请输入:

sudo yum install mariadb-server

安装MariaDB服务器后,请通过以下方式启动并启用该服务:

#centos 6
sudo service mariadb.service start
sudo chkconfig mariadb on
#centos 7
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
  • 在撰写本文时, MariaDB 5.5 在官方的CentOS 7存储库中可用。
  • 如果要安装MySQL而不是MariaDB,请查看我们的教程以获取安装说明。

步骤3.安装PHP

CentOS 6/7附带了PHP 5.4版本,该版本已经过EOL版本,因此我们将使用Remi存储库安装PHP 7.2。

运行以下命令以将Remi存储库添加到您的系统:

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

添加后,安装 yum-utils 打包并启用 remi-php72 资料库:

sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72

现在我们启用了Remi存储库,我们可以使用以下命令安装PHP FPM和几个最常见的PHP模块:

sudo yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql

默认情况下,PHP FPM将以用户身份运行 apache 在端口9000上。我们将用户更改为 nginx 并从TCP套接字切换到Unix套接字。 为此,编辑以黄色突出显示的行:

sudo nano /etc/php-fpm.d/www.conf
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

确保 /var/lib/php 目录具有正确的权限:

chown -R root:nginx /var/lib/php

保存文件,启用并通过以下命令启动PHP FPM服务:

#centos 6
sudo chkconfig php-fpm on
sudo service php-fpm start
#centos 7
sudo systemctl enable php-fpm
sudo systemctl start php-fpm

步骤4.配置Nginx处理PHP页面

现在我们已经安装了所有LEMP组件,我们可以编辑Nginx服务器块配置文件并添加以下行,以便Nginx可以处理PHP文件:

server {

    # . . . other code

    location ~ .php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

不要忘记重启Nginx服务,以使更改生效:


#centos 6
sudo service nginx start
#centos 7
sudo systemctl restart nginx

更多信息

有关每个步骤的更多详细说明,请查阅以下教程。

讲解

    • 如何在CentOS 6/7上安装PHP 7.1 / 7.2 / 7.3
    • 如何在CentOS 6/7上安装Nginx
    • 如何设置CentOS 7上的Nginx加密SSL证书
    • 如何在CentOS 6/7上安装MySQL
    • 如何在CentOS 6/7上安装MariaDB
Sidebar