LNMP 环境是指在Linux系统中,搭建由Linux、Nginx、MariaDB/MySQL、PHP组成的Web应用平台。本文介绍如何在CentOS 7.6实例上部署LNMP环境。
远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
执行以下命令,安装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版本。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 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; }
按“Esc”,输入“:wq”,按Enter
键,保存文件并返回。
执行以下命令,启动Nginx服务。systemctl start nginx
执行以下命令,设置Nginx服务开机自启动。systemctl enable nginx
在本地浏览器中输入http://<ECS实例公网IP地址>/
访问Nginx。
回显如下,表示Nginx搭建成功。
yum -y install mariadb-server mariadb-client
mysql -V
mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
systemctl enable --now mariadb
systemctl status mariadb
Active: active (running)
表示已启动。mysql_secure_installation
按回车键确认设置密码。
输入y
并按回车键,确认修改数据库的root密码。
设置MariaDB密码并按回车键,默认不显示输入密码。
再次输入新密码并按回车键,确认设置该密码。
说明
请输入符合密码验证策略强度的密码。
输入y
并按回车键,移除匿名用户。
输入y
并按回车键,禁止root账号远程登录。
输入y
并按回车键,删除test
库及对test
库的访问权限。
输入y
并按回车键,重新加载授权表。
rpm -Uvh https://mirrors.ivolces.com/mysql/mysql57-community-release-el7-9.noarch.rpm
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-2022
和yum -y install mysql-server
命令。
mysql -V
mysql Ver 14.14 Distrib 5.7.xx, for Linux (x86_64) using EditLine wrapper
systemctl enable --now mysqld
systemctl status mysqld
Active: active (running)
表示已启动。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_secure_installation
y
确认设置该密码。说明
请输入符合密码验证策略强度的密码。
y
再次确认。y
并按回车键,移除匿名用户。y
并按回车键,禁止root账号远程登录。y
并按回车键,删除test
库及对test
库的访问权限。y
并按回车键,重新加载授权表。执行以下命令,添加并更新EPEL源。wget -O /etc/yum.repos.d/epel.repo http://mirrors.ivolces.com/repo/epel-7.repo
执行以下命令,添加Remi源。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
执行以下命令,安装PHP 7.0和常用模块。yum -y install php php-mysqlnd php-fpm
执行以下命令,启动PHP-FPM服务systemctl start php-fpm
执行以下命令,设置PHP-FPM服务开机自启动。systemctl enable php-fpm
执行以下命令,查看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
vim <网站根目录>/phpinfo.php
<网站根目录>
替换为您在Nginx配置文件default.conf文件中配置的网站根目录,本文以/usr/share/nginx/html为例,因此命令为:vim /usr/share/nginx/html/phpinfo.php
<?php echo phpinfo(); ?> #phpinfo()会展示PHP的所有配置信息
Enter
键,保存文件并返回。http://<ECS实例公网IP地址>/phpinfo.php
访问LNMP。