centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)

  • Post category:Linux

CentOS 7 安装 LNMP 教程

前言

LNMP 是一套非常流行的 Web 服务器架构,由 Linux,Nginx,MySQL 和 PHP 四个部分组成,本文将介绍如何在 CentOS 7 系统上利用 Yum 安装 LNMP。

准备工作

在开始安装 LNMP 之前,需要确保你的 CentOS 7 系统已经更新到最新。可以通过以下命令进行升级:

sudo yum update

安装 NGINX

Nginx 是 Linux 上一个高性能的 HTTP 和反向代理服务器,可以在 CentOS 7 中通过 Yum 进行安装,执行以下命令:

sudo yum install nginx

安装完成后,可以通过以下命令检查 Nginx 是否安装成功:

nginx -v

以下是 Nginx 版本查询的例子:

[root@centos ~]# nginx -v
nginx version: nginx/1.16.1

安装 MariaDB(MySQL)

MariaDB 是最流行的开源数据库之一,是 MySQL 的替代品。可以通过以下命令在 CentOS 7 中进行安装:

sudo yum install mariadb mariadb-server

安装完成后,可以通过以下命令检查 MariaDB 是否安装成功:

mysql -V

以下是 MariaDB 版本查询的例子:

[root@centos ~]# mysql -V
mysql  Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1

安装 PHP 7.1

PHP 是一种流行的编程语言,与 Nginx 和 MariaDB 一起使用时,可以构建强大的 Web 应用程序。可以通过以下命令在 CentOS 7 中进行安装 PHP 7.1:

sudo yum install epel-release
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-common php71w-opcache php71w-mysql php71w-mbstring php71w-pdo

安装完成后,可以通过以下命令检查 PHP 是否安装成功:

php -v

以下是 PHP 版本查询的例子:

[root@centos ~]# php -v
PHP 7.1.33 (cli) (built: Nov 11 2020 08:32:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.33, Copyright (c) 1999-2018, by Zend Technologies

配置 Nginx 和 PHP

接下来需要修改 Nginx 的配置文件(默认路径为 /etc/nginx/nginx.conf)以运行 PHP。

首先备份默认配置文件:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

然后打开配置文件进行编辑,将以下行添加到 http 部分:

server {
    listen       80;
    server_name  localhost;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

这将告诉 Nginx 在触发 PHP 时使用 FastCGI 协议将 Web 请求发送到 PHP-FPM(FastCGI 进程管理器)。

接下来需要编辑 PHP-FPM 的配置文件(默认路径为 /etc/php-fpm.d/www.conf),找到以下行:

;listen = /run/php-fpm/php-fpm.sock

将其修改如下:

listen = 127.0.0.1:9000

然后重新启动 nginx 和 php-fpm:

sudo systemctl start nginx
sudo systemctl start php-fpm

验证 LNMP

打开浏览器,访问服务器 IP 地址(或 localhost),出现 Nginx 的默认欢迎页面表示服务器已经成功安装 LNMP。

示例

示例一:在 Web 服务器上运行 PHP 程序

在网站根目录下创建一个简单的 PHP 文件,例如 index.php,并添加以下内容:

<?php
phpinfo();
?>

保存文件后,将其上传到网站的根目录中(在本示例中,为 /usr/share/nginx/html/),然后在浏览器中访问 http://IP/index.php,即可查看 PHP 配置信息。

示例二:连接数据库

将以下代码添加到 index.php 文件中,以连接 MariaDB 数据库,并查询一个表中的所有数据:

<?php
$username = "root";
$password = "password";
$database = "database";
$mysqli = new mysqli("localhost", $username, $password, $database);
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}
$sql = "SELECT * FROM table_name";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 results";
}
$mysqli->close();
?>

此处的 $username$password$databaselocalhosttable_name 需要根据自己的数据库实例信息进行修改。最终效果是在网页上展示数据库表数据。

结论

通过以上操作即可在 CentOS 7 上利用 Yum 安装 LNMP 集成环境,了解到如何配置和管理 Nginx、MariaDB 和 PHP。