You need to enable JavaScript to run this app.
导航

搭建LNMP环境(CentOS 7)

最近更新时间2023.12.07 14:06:19

首次发布时间2021.10.08 15:39:30

LNMP 环境是指在Linux系统中,搭建由Linux、Nginx、MariaDB/MySQL、PHP组成的Web应用平台。本文介绍如何在CentOS 7.6实例上部署LNMP环境。

软件版本

  • 操作系统:本文以CentOS 7.6为例,您也可以按需替换为CentOS 7.9、veLinux 1.0(CentOS兼容版)等CentOS 7系镜像。
  • Nginx:高性能的HTTP和反向代理的轻量级Web服务器,本文以Nginx 1.22.0为例。
  • MySQL/MariaDB:数据库管理系统,本文以MariaDB 15.1和MySQL 14.14为例。
  • PHP:在服务器端执行的嵌入HTML文档的脚本语言,本文以PHP 7.0.33为例。

前提条件

  • 您已购买Linux实例。具体操作请参见购买云服务器
  • 您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP

步骤一:安装并配置Nginx

  1. 远程连接云服务器并登录,具体操作请参考登录Linux实例小节。

  2. 执行以下命令,安装Nginx。
    yum install -y https://mirrors.ivolces.com/nginx_all/centos/7/x86_64/RPMS/nginx-1.22.0-1.el7.ngx.x86_64.rpm

  3. 执行以下命令,查看Nginx版本。
    nginx -v
    回显如下,表示安装成功。
    nginx version: nginx/1.22.0

  4. 执行以下命令,查看Nginx配置文件的路径。
    cat /etc/nginx/nginx.conf
    回显如下,include配置项即为文件的路径。
    image

  5. 执行以下命令,在配置文件目录下备份配置文件。

    cd /etc/nginx/conf.d 
    cp default.conf default.conf.bak
    
  6. 执行以下命令,修改原配置文件。
    vi default.conf

  7. 按“i”键进入编辑模式,在location中修改以下内容。

    location / {
    	root /usr/share/nginx/html; #将该路径替换为您的网站根目录。 
    	index  index.html index.htm index.php; #添加默认首页信息index.php。 
    }
    
  8. 去掉被注释的location ~ \.php$ 大括号前面的# ,并修改以下内容。

    location ~ \.php$ { 
    	root /usr/share/nginx/html; #将该路径替换为您的网站根目录。  
    	fastcgi_pass  127.0.0.1:9000;   #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
    	fastcgi_index index.php; 
    	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。 
    	include fastcgi_params;
    }
    
  9. 按“Esc”,输入“:wq”,按Enter键,保存文件并返回。

  10. 执行以下命令,启动Nginx服务。
    systemctl start nginx

  11. 执行以下命令,设置Nginx服务开机自启动。
    systemctl enable nginx

  12. 在本地浏览器中输入http://<ECS实例公网IP地址>/访问Nginx。
    回显如下,表示Nginx搭建成功。
    image

步骤二:安装并配置MariaDB/MySQL

安装并配置MariaDB

  1. 执行以下命令,安装MariaDB。
    yum -y install mariadb-server mariadb-client
  2. 执行以下命令,查看MariaDB版本。
    mysql -V
    回显如下,表示MariaDB安装成功。
    mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
  3. 执行以下命令,启动MariaDB服务并设置为开机自启动。
    systemctl enable --now mariadb
  4. 执行以下命令,查看MySQL服务是否已启动。
    systemctl status mariadb
    回显中Active: active (running)表示已启动。
  5. 执行以下命令,执行MariaDB安全性操作并设置密码。
    mysql_secure_installation
    1. 按回车键确认设置密码。

    2. 输入y并按回车键,确认修改数据库的root密码。

    3. 设置MariaDB密码并按回车键,默认不显示输入密码。

    4. 再次输入新密码并按回车键,确认设置该密码。

      说明

      请输入符合密码验证策略强度的密码。

    5. 输入y并按回车键,移除匿名用户。

    6. 输入y并按回车键,禁止root账号远程登录。

    7. 输入y并按回车键,删除test库及对test库的访问权限。

    8. 输入y并按回车键,重新加载授权表。

安装并配置MySQL

  1. 执行以下命令,更新YUM中的MySQL源。
    rpm -Uvh https://mirrors.ivolces.com/mysql/mysql57-community-release-el7-9.noarch.rpm
  2. 执行以下命令,安装MySQL。
    yum -y install mysql-community-server

    说明

    若报错Failing package is: mysql-community-libs-compat-5.7.xx-1.el7.x86_64,是因为Mysql的GPG升级了,需要重新获取,请依次执行rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022yum -y install mysql-server命令。

  3. 执行以下命令,查看MySQL版本。
    mysql -V
    回显如下,表示安装成功。
    mysql Ver 14.14 Distrib 5.7.xx, for Linux (x86_64) using EditLine wrapper
  4. 执行以下命令,启动MySQL服务并设置为开机自启动。
    systemctl enable --now mysqld
  5. 执行以下命令,查看MySQL服务是否已启动。
    systemctl status mysqld
    回显中Active: active (running)表示已启动。
  6. 执行以下命令,查看安装MySQL时自动设置的原始密码。
    grep 'temporary password' /var/log/mysqld.log
    回显如下,记录原始密码为0zNwvmpr:fOd
    2021-09-17T09:31:12.142217Z 1 [Note] A temporary password is generated for root@localhost: 0zNwvmpr:fOd
  7. 执行以下命令,执行MySQL安全性操作并设置密码。
    mysql_secure_installation
    1. 输入原始密码。
    2. 设置MySQL新密码并按回车键,默认不显示输入密码。
    3. 再次输入新密码并按回车键,输入y确认设置该密码。

      说明

      请输入符合密码验证策略强度的密码。

    4. 请重复以上操作重复设置新密码,输入y再次确认。
    5. 输入y并按回车键,移除匿名用户。
    6. 输入y并按回车键,禁止root账号远程登录。
    7. 输入y并按回车键,删除test库及对test库的访问权限。
    8. 输入y并按回车键,重新加载授权表。

步骤三:安装并配置PHP

  1. 执行以下命令,添加并更新EPEL源。
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.ivolces.com/repo/epel-7.repo

  2. 执行以下命令,添加Remi源。
    rpm -Uvh https://mirrors.ivolces.com/remi/enterprise/remi-release-7.rpm

  3. 执行以下命令,安装yum-config-manager仓库管理工具。
    yum -y install yum-utils

  4. 执行以下命令,使用yum-config-manager启用指定remi的PHP 7.0仓库。
    yum-config-manager --enable remi-php70

  5. 执行以下命令,安装PHP 7.0和常用模块。
    yum -y install php php-mysqlnd php-fpm

  6. 执行以下命令,启动PHP-FPM服务
    systemctl start php-fpm

  7. 执行以下命令,设置PHP-FPM服务开机自启动。
    systemctl enable php-fpm

  8. 执行以下命令,查看PHP版本。
    php -v
    回显如下,表示安装成功。

    PHP	7.0.33	(cli)	(built:	Jun		7	2022	14:11:00)	(	NTS	)
    Copyright	(c)	1997-2017	The	PHP	Group
    Zend	Engine	v3.0.0,	Copyright	(c)	1998-2017	Zend	Technologies
    

步骤四:访问LNMP

  1. 执行以下命令,创建测试文件。
    vim <网站根目录>/phpinfo.php #将<网站根目录>替换为您在Nginx配置文件default.conf文件中配置的网站根目录。
    本例请执行命令:vim /usr/share/nginx/html/phpinfo.php
  2. 按“i”键进入编辑模式,输入以下内容。
    <?php echo phpinfo(); ?> #phpinfo()会展示PHP的所有配置信息
  3. 按“Esc”,输入“:wq”,按Enter键,保存文件并返回。
  4. 在本地浏览器中输入http://<ECS实例公网IP地址>/phpinfo.php访问LNMP。
    回显如下,表示LNMP搭建成功。
    image