如何在 CentOS 8 / RHEL 8 上安装 Linux、Nginx、MariaDB、PHP(LEMP 堆栈)

[ad_1]

Nginx 是一个开源的高性能 Web 服务r. 它以其稳定性、非常简单的配置、丰富的功能集和低资源消耗而著称。

Nginx 允许您将其用作反向代理、负载平衡器、HTTP 缓存和邮件代理。

这篇文章向您展示了如何在 CentOS 8 / RHEL 8 上安装 Nginx,并支持 PHP(通过 PHP-FPM)和 MariaDB 支持。

本文档也适用于 CentOS 7 Debian 10 Debian 9 Ubuntu 18.04 Ubuntu 16.04

PHP-FPM 是另一种 PHP FastCGI 实现。 它具有适用于任何规模的站点的附加功能,尤其是繁忙的站点。

安装 Linux

按照链接安装 Linux 操作系统

如何安装 CentOS 8(附截图)

如何安装 Red Hat Enterprise Linux 8(带屏幕截图)或从 RHEL 7 升级到 RHEL 8。

到现在为止,您应该已经准备好了 Linux 系统。 现在,我们将在其上安装 Nginx、MariaDB 和 PHP-FPM。

只有在 RHEL 8 上启用了 Red Hat 订阅或在系统上配置了本地 yum 存储库,本文中提到的步骤才有效。

以root用户登录系统或切换到root用户。

$ su -

安装 Nginx

使用 Base Repository 安装 Nginx

在 RHEL 8 中,Nginx 可用于 rhel-8-for-x86_64-appstream-rpms 存储库。 因此,我们不需要手动设置 Nginx 存储库。

使用 YUM 命令安装 Nginx。

yum -y install nginx

使用 Nginx 的官方仓库安装 Nginx

将 Nginx 存储库添加到您的系统。

### CentOS 8 ###

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=https://nginx.org/packages/mainline/centos/8/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

### RHEL 8 ###

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx-mainline]
name=nginx mainline repo
baseurl=https://nginx.org/packages/mainline/rhel/8/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

从安装 Nginx Nginx 的官方仓库 通过暂时禁用 AppStream 存储库。

yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline

安装完成后启动 Nginx Web 服务器服务。

systemctl start nginx

使用以下命令检查 Nginx Web 服务器服务的状态。

systemctl status nginx

防火墙

通过执行以下命令允许 Web 请求通过防火墙。

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

firewall-cmd --reload

SELinux

如果您在 Nginx 日志上遇到有关 SELinux 的任何错误,请参阅以下教程 为 Nginx 设置 SELinux 策略.

否则,您可以使用以下命令暂时禁用 SELinux。 但是,我们建议您永久禁用 SELinux。

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

验证 Nginx 安装

打开您的网络浏览器并访问以下 URL。

https://您的 IP 地址

从 Red Hat 存储库安装 Nginx:

您应该会看到以下页面 欢迎使用 Red Hat Enterprise Linux 上的 nginx. 此页面确认您已在服务器上成功安装 Ngnix Web 服务器。

使用 Nginx 的官方存储库安装 Nginx:

CentOS 8 / RHEL 8 上 Nginx 的默认文档根目录是 /usr/share/nginx/html/. 其他配置文件在 /etc/nginx 目录。

在系统启动时启用 Nginx 服务。

systemctl enable nginx

安装 MariaDB

CentOS 8 / RHEL 8 带有 MariaDB 10.3。 使用 yum 命令安装 MariaDB 服务器。

您还可以从 MariaDB 社区安装 MariaDB 软件包。

: 如何在 CentOS 8 / RHEL 8 上安装 MariaDB

yum -y install mariadb mariadb-server

使用以下命令启动 MariaDB 服务器。

systemctl start mariadb

启用 MariaDB 服务以在系统启动期间自动启动。

systemctl enable mariadb

MariaDB 服务器安装完成后,运行 mysql_secure_installation 命令来保护 MariaDB。

安装 PHP

CentOS 8 / RHEL 8 附带 PHP 7.2。 通过 PHP-FPM(使用 YUM 命令的 FastCGI 进程管理器)安装 PHP。

如果需要,您可以使用 Remi 存储库安装 PHP 7.3。

如何在 CentOS 8 / RHEL 8 上安装 PHP 7.3

yum -y install php-fpm php-mysqlnd php-cli

编辑 /etc/php.ini.

vi /etc/php.ini

cgi.fix_pathinfo0.

cgi.fix_pathinfo=0

编辑 /etc/php-fpm.d/www.conf 文件。

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

确保以下值是未注释的.

[.More.]	 	 

pm.min_spare_servers = 5	 	 

[.More.]	 	 

pm.max_spare_servers = 35	 	 

[.More.]

更改监听参数。

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

listen = 127.0.0.1:9000

然后,启动 PHP-FPM 服务。

systemctl start php-fpm

启用 PHP-FPM 服务以在系统启动时自动启动。

systemctl enable php-fpm

在虚拟主机上启用 PHP-FPM 支持

我们现在将在 Nginx 服务器上创建一个虚拟主机,用于以下详细信息来测试 PHP。

服务器名称: web.itzgeek.local
文件根: /usr/share/nginx/html/web.itzgeek.local

创建一个名为的配置文件 web.itzgeek.local.conf 在下面 /etc/nginx/conf.d 并编辑它。

vi /etc/nginx/conf.d/web.itzgeek.local.conf

添加以下内容。

server {
   server_name web.itzgeek.local;
   root /usr/share/nginx/html/web.itzgeek.local;

   location / {
       index index.html index.htm index.php;
   }

   location ~ .php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

创建文档根目录。

mkdir /usr/share/nginx/html/web.itzgeek.local

为了测试 PHP,我们将一个 PHP 文件放在创建的虚拟主机的文档根目录中。

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/web.itzgeek.local/index.php

重新启动服务。

systemctl restart nginx

systemctl restart php-fpm

测试 LEMP 堆栈

为您的 Web 服务器域 (server.itzgeek.local) 在 /etc/hosts (Linux) 和 主机 文件 (Windows)。

192.168.1.10             web.itzgeek.local

打开网络浏览器并在地址栏中输入您的域。

https://web.itzgeek.local

该页面将如下所示。

从上面的屏幕截图中可以看出,PHP 按预期工作,并且通过 FPM/FastCGI 工作,如服务器 API 行所示。

您可以进一步向下滚动页面以查看 MariaDB 支持详细信息。

感兴趣的话题

如何在 CentOS 8 / RHEL 8 上使用 Nginx 设置 Let’s Encrypt SSL

如何在 CentOS 8 / RHEL 8 上使用 Nginx 安装 WordPress

如何在 CentOS 8 / RHEL 8 上使用 Nginx 安装 phpMyAdmin

结论

您已经学习了如何在 CentOS 8 / RHEL 8 上安装 LEMP 堆栈。请在评论部分分享您的反馈。

[ad_2]

Related Posts