LNMP 环境是指在Linux系统中,搭建由Linux、Nginx、MariaDB/MySQL、PHP组成的Web应用平台。本文介绍如何在CentOS 8.3实例上部署LNMP环境。
远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
执行以下命令,安装Nginx,以Nginx为1.20.0为例。dnf -y install https://mirrors.ivolces.com/nginx_all/centos/7/x86_64/RPMS/nginx-1.22.0-1.el7.ngx.x86_64.rpm
执行以下命令,查看Nginx版本。nginx -v
回显如下,表示安装成功。nginx version: nginx/1.22.0
执行以下命令,查看Nginx配置文件的路径。cat /etc/nginx/nginx.conf
回显如下,include
配置项即为文件的路径。
执行以下命令,在配置文件目录下备份配置文件。
cd /etc/nginx/conf.d cp default.conf default.conf.bak
执行以下命令,修改原配置文件。vi default.conf
按“i”键进入编辑模式,在location
中修改以下内容。
location / { root /usr/share/nginx/html; #将该路径替换为您的网站根目录,本文以/usr/share/nginx/html为例,您可以直接复用,但在实际业务场景中,建议您替换为您自己的网站根目录。 index index.html index.htm index.php; #添加默认首页信息index.php。 }
去掉被注释的location ~ \.php$
大括号前面的#
,并修改以下内容。
location ~ \.php$ { root /usr/share/nginx/html; #将该路径替换为您的网站根目录,本文以/usr/share/nginx/html为例,您可以直接复用,但在实际业务场景中,建议您替换为您自己的网站根目录。 fastcgi_pass unix:/run/php-fpm/www.sock; #修改为unix:/run/php-fpm/www.sock。Nginx通过UNIX套接字与PHP-FPM建立联系,该配置与/etc/php-fpm.d/www.conf文件内的listen配置一致。 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; }
按“Esc”,输入“:wq”,按Enter
键,保存文件并返回。
执行以下命令,启动Nginx服务。systemctl start nginx
执行以下命令,设置Nginx服务开机自启动。systemctl enable nginx
在本地浏览器中输入http://<ECS实例公网IP地址>/
访问Nginx。
回显如下,表示Nginx搭建成功。
执行以下命令,安装MariaDB。dnf -y install @mariadb
执行以下命令,查看MariaDB版本。mysql -V
回显如下,表示MariaDB安装成功。mysql Ver 15.1 Distrib 10.3.28-MariaDB, for Linux (x86_64) using readline 5.1
执行以下命令,启动MariaDB服务并设置为开机自启动。systemctl enable --now mariadb
执行以下命令,查看MySQL服务是否已启动。systemctl status mariadb
回显中Active: active (running)
表示已启动。
执行以下命令,执行MariaDB安全性操作并设置密码。mysql_secure_installation
按回车键确认设置密码。
输入y
并按回车键,确认修改数据库的root密码。
设置MariaDB密码并按回车键,默认不显示输入密码。
再次输入新密码并按回车键,确认设置该密码。
说明
请输入符合密码验证策略强度的密码。
输入y
并按回车键,移除匿名用户。
输入y
并按回车键,禁止root账号远程登录。
输入y
并按回车键,删除test
库及对test
库的访问权限。
输入y
并按回车键,重新加载授权表。
执行以下命令,安装MySQL。dnf -y install @mysql
执行以下命令,查看MySQL版本。mysql -V
回显如下,表示MySQL安装成功。mysql Ver 8.0.26 for Linux on x86_64 (Source distribution)
执行以下命令,启动MySQL服务并设置为开机自启动。systemctl enable --now mysqld
执行以下命令,查看MySQL服务是否已启动。systemctl status mysqld
回显中Active: active (running)
表示已启动。
执行以下命令,执行MySQL安全性操作并设置密码。mysql_secure_installation
y
并按回车键开始相关配置。2
并按回车键。建议选择高强度的验证策略,其中0:表示低、1:表示中、2:表示高。y
确认设置该密码。说明
请输入符合密码验证策略强度的密码。
y
并按回车键,移除匿名用户。y
并按回车键。n
并按回车键。y
并按回车键,删除test
库及对test
库的访问权限。y
并按回车键,重新加载授权表。执行以下命令,添加并更新epel源。
dnf -y install epel-release dnf -y update epel-release
执行以下命令,删除缓存的无用软件包并更新软件源。
dnf clean all dnf makecache
执行以下命令,启用php:7.3
模块。dnf -y module enable php:7.3
php:7.3
版本,如果您需要使用php:7.4
,您需要首先安装remi源,再启动PHP模块。安装remi源命令为dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
。执行以下命令,安装PHP对应模块。dnf -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
执行以下命令,查看PHP版本。php -v
回显如下,表示安装成功。
PHP 7.3.20 (cli) (built: Jul 7 2020 07:53:49) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
执行以下命令打开配置文件。vi /etc/php-fpm.d/www.conf
按“i”键进入编辑模式,将user = apache
和group = apache
中的apache
修改为nginx
。
按“Esc”,输入“:wq”,按Enter
键,保存文件并返回。
执行以下命令,启动PHP-FPM服务。systemctl start php-fpm
执行以下命令,设置PHP-FPM服务开机自启动。systemctl enable php-fpm
执行以下命令,创建测试文件。vim <网站根目录>/phpinfo.php
请将命令中的<网站根目录>
替换为您在Nginx配置文件default.conf文件中配置的网站根目录,本文以/usr/share/nginx/html为例,因此命令为:vim /usr/share/nginx/html/phpinfo.php
按“i”键进入编辑模式,输入以下内容。<?php echo phpinfo(); ?> #phpinfo()会展示PHP的所有配置信息
按“Esc”,输入“:wq”,按Enter
键,保存文件并返回。
在本地浏览器中输入http://<ECS实例公网IP地址>/phpinfo.php
访问LNMP。
回显如下,表示LNMP搭建成功。