- 文档首页
云服务器
云服务器ECS
最佳实践
自助建站
搭建环境
搭建LNMP环境(CentOS 7)
搭建LNMP环境(CentOS 7)
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社区版 8.4.3为例。
- PHP:在服务器端执行的嵌入HTML文档的脚本语言,本文以PHP 7.0.33为例。
前提条件
- 您已为Linux实例绑定公网IP,使其具备访问公网的能力。如未绑定,请参见绑定公网IP。
步骤一:安装并配置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
nginx version: nginx/1.22.0
cat /etc/nginx/nginx.conf
-
cp default.conf default.conf.bak
- 按i键进入编辑模式,在location中修改以下内容。
root /usr/share/nginx/html; #将该路径替换为您的网站根目录,本文以/usr/share/nginx/html为例,您可以直接复用,但在实际业务场景中,建议您替换为您自己的网站根目录。
index index.html index.htm index.php; #添加默认首页信息index.php。
- 去掉被注释的location ~ \.php$ 大括号前面的# ,并修改以下内容。
root /usr/share/nginx/html; #将该路径替换为您的网站根目录,本文以/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。
- 按Esc键,输入:wq按回车键,保存并退出文件。
- 在本地浏览器中输入http://<ECS实例公网IP地址>/访问Nginx。
-
步骤二:安装并配置MariaDB/MySQL
安装并配置MariaDB
yum -y install mariadb-server mariadb-client
mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
- 执行以下命令,启动MariaDB服务并设置为开机自启动。
systemctl enable --now mariadb
- 执行以下命令,查看MariaDB服务是否已启动。
systemctl status mariadb
- 回显中Active: active (running)表示已启动。
- 执行以下命令,执行MariaDB安全性操作并设置密码。
mysql_secure_installation
- 输入y并按回车键,确认修改数据库的root密码。
- 设置MariaDB密码并按回车键,默认不显示输入密码。
- 输入y并按回车键,删除test库及对test库的访问权限。
安装并配置MySQL
- 执行以下命令,下载MySQL社区版仓库配置文件的RPM包。
wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
- 执行以下命令,安装MySQL8.4社区版软件仓库配置文件。
rpm -Uvh mysql84-community-release-el7-1.noarch.rpm
yum -y install mysql-community-server
说明
若报错Failing package is: mysql-community-libs-compat-8.4.3-1.el7.x86_64,是因为Mysql的GPG升级了,需要重新获取,请依次执行rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022和yum -y install mysql-server命令。
mysql Ver 8.4.3 for Linux on x86_64 (MySQL Community Server - GPL)
- 执行以下命令,启动MySQL服务并设置为开机自启动。
systemctl enable --now mysqld
- 回显中Active: active (running)表示已启动。
- 执行以下命令,查看安装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
- 执行以下命令,执行MySQL安全性操作并设置密码。
mysql_secure_installation
- 设置MySQL新密码并按回车键,默认不显示输入密码。
- 再次输入新密码并按回车键,输入y确认设置该密码。
- 输入y并按回车键,删除test库及对test库的访问权限。
步骤三:安装并配置PHP
wget -O /etc/yum.repos.d/epel.repo http://mirrors.ivolces.com/repo/epel-7.repo
rpm -Uvh https://mirrors.ivolces.com/remi/enterprise/remi-release-7.rpm
- 执行以下命令,安装yum-config-manager仓库管理工具。
yum -y install yum-utils
- 执行以下命令,使用yum-config-manager启用指定remi的PHP 7.0仓库。
yum-config-manager --enable remi-php70
yum -y install php php-mysqlnd php-fpm
- 执行以下命令,设置PHP-FPM服务开机自启动。
systemctl enable php-fpm
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
- 请将命令中的<网站根目录>替换为您在Nginx配置文件default.conf文件中配置的网站根目录,本文以/usr/share/nginx/html为例,因此命令为:vim /usr/share/nginx/html/phpinfo.php。
<?php echo phpinfo(); ?>
- 按Esc键,输入:wq,按Enter键,保存文件并返回。
- 在本地浏览器中输入http://<ECS实例公网IP地址>/phpinfo.php访问LNMP。
-
最近更新时间:2025.09.15 14:47:54