原文地址:https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-linux-nginx-mariadb-php-lemp-stack-in-rhel-8.html
翻译转载原因:由于我的wordpress是用这套系统安装的,方便系统炸了的时候还有个备份。
正文
-------------------------------------------------------------------------------------
Nginx的是一个开源的,高性能的网络服务器 。它以其稳定性强,非常简单的配置,丰富的功能集和低资源消耗而著称。
Nginx允许您将其用作反向代理,负载平衡器,HTTP缓存和邮件代理。
这篇文章向您展示如何在具有PHP支持(通过PHP-FPM)和MariaDB支持的CentOS 8 / RHEL 8上安装Nginx 。
PHP-FPM是PHP FastCGI的替代实现。它具有其他功能,可用于任何规模的站点,尤其是繁忙的站点。
安装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=http://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=http://nginx.org/packages/mainline/rhel/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF
通过临时禁用AppStream存储库从Nginx的官方存储库安装Nginx 。
yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline
启动NGINX
安装后启动Nginx Web服务器服务。
systemctl start nginx
使用以下命令检查状态Nginx Web服务器服务。
systemctl status nginx
防火墙设置
如果存在防火墙,通过执行以下命令,允许Web请求通过防火墙。(centos8默认防火墙为Firewall)此示例为开放http协议的服务
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux设置(可选,不建议)
如果您在Nginx日志上遇到关于SELinux的任何错误,可以选择关闭SELinux
否则,您可以使用以下命令暂时禁用SELinux。但是,我们建议您永久禁用SELinux。(原文如此,但是我不建议关闭SELinux,这给被黑了的操作系统提供了一道防线,一般不会遇到SELinux的问题)
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
验证Nginx安装
打开您的网络浏览器然后访问以下网址
http://your-ip-address
从基础源安装的Nginx
您应该看到以下页面欢迎使用Red Hat Enterprise Linux上的nginx。该页面确认您Ngnix Web服务器已成功安装在服务器上。

使用Nginx的官方源安装的Nginx

提示:CentOS8/RHE L 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 https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-mariadb-on-rhel-8.html)
yum -y install mariadb mariadb-server
使用以下命令启动MariaDB服务器。
systemctl start mariadb
启用MariaDB服务以在系统引导期间自动启动。
systemctl enable mariadb
MariaDB服务器安装完成后,运行mysql_secure_installation命令以保护MariaDB。
(请注意,原文图中不一定是最佳的安全设置,请根据自身情况进行安全设置,在此不展开介绍)

安装PHP
CentOS8/RHEL8附带了PHP7.2。通过PHP-FPM(使用YUM命令的FastCGI Process Manager)安装PHP 。
(如果需要,可以使用Remi存储库安装PHP 7.3,在本转载翻译链接中不提供,可以参考原文链接:如何在CentOS 8 / RHEL 8上安装PHP 7.3 https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-php-7-3-on-rhel-8.html)
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
在Nginx上启用PHP-FPM支持
现在,我们将在Nginx服务器上创建一个虚拟主机,用于以下详细信息以测试PHP。
(域名是需要购买的,可以在本地host中修改达到ip与域名映射效果,如果想让互联网上的他人通过域名访问你的网站需要购买域名,并拥有一个公共IP地址,在此不赘述)
(由于大多数情况下是没有域名的,可以直接在nginx.conf配置文件中修改,server_name为localhost的内容,在此不赘述)
服务名称: test.refly.cloud(请替换为自己的域名) web文档根目录: /usr/share/nginx/html/test.refly.cloud
在/etc/nginx/conf.d文件夹内创建一个名为test.refly.cloud.conf文件,并编辑它
vi /etc/nginx/conf.d/test.refly.cloud.conf
输入如下内容
server {
server_name test.refly.cloud;
root /usr/share/nginx/html/test.refly.cloud;
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;
}
}
创建web文档目录
mkdir /usr/share/nginx/html/test.refly.cloud
为了测试PHP,我们创建一个index.php文件于web文档根目录
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/test.refly.cloud/index.php
重新启动服务
systemctl restart nginx systemctl restart php-fpm
测试LEMP
在/etc/hosts(Linux)或者hosts文件(Windows)中为您的Web服务器域(test.refly.cloud)创建映射条目。
127.0.0.1 test.refly.cloud
打开网络浏览器,然后在地址栏中输入您的域名。该页面如下所示。

从上面的屏幕截图中,PHP可以按预期运行,并且通过FPM/FastCGI运行,如服务器API行中所示。
您可以进一步向下滚动页面以查看MariaDB支持的详细信息。

浙公网安备 33010602011771号