[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_pathinfo 到 0.
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]