云网牛站
所在位置:首页 > Linux云服务器 > 在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

2019-03-18 09:31:28作者:叶云稿源:云网牛站

本文介绍在RHEL 8/CentOS 8上安装LEMP Stack的方法,即实现RHEL/CentOS、Nginx、MariaDB、PHP7.2构架。本文需要使用root帐户来完成,要切换到root,请运行su -命令并输入root密码。

 

一、在RHEL 8/CentOS 8上安装Nginx Web服务器

Nginx是一款高性能的网络服务器,它还可以用作反向代理和缓存服务器,输入下面命令以安装Nginx Web服务器:

yum install nginx -y

安装完成后,我们可以使用以下命令启动Nginx:

systemctl start nginx

通过运行以下命令,使Nginx在系统引导时自动启动:

systemctl enable nginx

现在检查它的状态:

systemctl status nginx

正常情况下运行都正常,同时如果出现“Enabled”表示启动时自动启动,上面的命令在运行后不会立即退出,需要按“q”才能退出。

检查Nginx版本:

nginx -v

nginx version: nginx/1.14.0

如果要在本地RHEL 8/CentOS 8计算机上安装LEMP,请在浏览器地址栏中输入127.0.0.1或localhost,应该能看到“欢迎使用Nginx”网页,这意味着Nginx Web服务器正常运行:

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

默认情况下,RHEL 8/CentOS 8禁止公共访问端口80,要允许其他计算机访问该网页,我们需要在firewalld中打开端口80,运行以下命令以打开端口80:

firewall-cmd --permanent --zone=public --add-service=http

如果想稍后在Nginx上启用HTTPS,那么还需要打开端口443:

firewall-cmd --permanent --zone=public --add-service=https

--permanent选项将使此防火墙规则在系统重新启动后保持不变,接下来,重新加载防火墙守护程序以使更改生效:

systemctl reload firewalld

现在可以公开访问Nginx网页了。

最后,我们需要将用户nginx作为web目录的所有者,默认情况下,它由root用户拥有:

chown nginx:nginx /usr/share/nginx/html -R

 

二、在RHEL 8/CentOS 8上安装MariaDB数据库

MariaDB是MySQL的直接替代品,输入以下命令在RHEL 8/CentOS 8上安装MariaDB:

yum install mariadb-server mariadb -y

参考:在RHEL 8系统上安装MariaDB数据库的步骤

安装完成后,我们需要启动它:

systemctl start mariadb

在系统引导时启用自动启动:

systemctl enable mariadb

检查状态请运行以下命令:

systemctl status mariadb

看到MariaDB正在运行后,需要运行安全脚本:

mysql_secure_installation

当它要求输入MariaDB root密码时,请按Enter键,因为尚未设置root密码,然后输入y以设置MariaDB服务器的root密码:

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

接下来,可以按Enter键回答所有剩余的问题,这将删除匿名用户,禁用远程root登录并删除测试数据库,此步骤是MariaDB数据库安全性的基本要求(注意字母Y是大写的,这意味着它是默认答案):

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

现在可以运行以下命令并输入MariaDB root密码以登录MariaDB shell:

mysql -u root -p

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

要退出,请运行:

exit;

 

三、在RHEL 8/CentOS 8上安装PHP-FPM

使用以下命令安装PHP和相关模块:

yum install php php-mysqlnd php-fpm php-opcache php-gd php-xml php-mbstring -y

安装完成后,我们需要启动它:

systemctl start php-fpm

在系统引导时启用自动启动:

systemctl enable php-fpm

检查状态:

systemctl status php-fpm

运行正常后,编辑PHP-FPM配置文件:

nano /etc/php-fpm.d/www.conf

默认情况下,PHP-FPM作为apache用户运行,由于我们使用的是Nginx Web服务器,我们需要对其进行更改,找到以下两行:

user = apache

group = apache

将它们更改为:

user = nginx

group = nginx

在此文件中,可以找到以下行:

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

这表明PHP-FPM正在侦听Unix套接字而不是TCP/IP套接字,这很好,保存并关闭文件,重新加载PHP-FPM以使更改生效:

systemctl reload php-fpm

 

四、测试PHP

默认情况下,RHEL 8/CentOS 8上的Nginx软件包包含PHP-FPM的配置(/etc/nginx/conf.d/php-fpm.conf和/etc/nginx/default.d/php.conf),要使用Nginx Web服务器测试PHP-FPM,我们需要在文档根目录中创建一个info.php文件:

nano /usr/share/nginx/html/info.php

将以下PHP代码粘贴到文件中:

<?php phpinfo(); ?>

保存并关闭文件,如果在本地RHEL 8/CentOS 8服务器上安装了LEMP stack,请在浏览器地址栏中键入127.0.0.1/info.php或localhost/info.php,应该看到服务器的PHP信息,这意味着PHP脚本可以使用Nginx Web服务器正常运行。

如果RHEL 8/CentOS在远程服务器上运行,则在浏览器地址栏中输入server-ip-address/info.php,将sever-ip-address替换为你的实际IP地址:

在RHEL 8/CentOS 8上安装LEMP(Nginx、MariaDB、PHP7.2)的方法

现在已经在Red Hat 8或CentOS 8上成功安装了Nginx、MariaDB和PHP7.2,如果需要PHP7.3版本,参考在RHEL 8系统中安装PHP 7.3及PHP 7.3-FPM的方法

同时为了你的服务器安全,应该立即删除info.php文件,运行以下命令:

rm /usr/share/nginx/html/info.php

至此,整个安装配置LEMP完成。

 

相关主题

在Ubuntu 18.04 Server中安装LEMP的方法[Nginx、MariaDB、PHP7.2]

精选文章
热门文章