手动搭建 LNMP 环境(CentOS 8)
本文搭建的 LNMP 环境软件组成版本及说明如下:
Linux:Linux 操作系统,本文以 CentOS 8.2 为例。
Nginx:Web 服务器,本文以 Nginx 1.20.2 为例。
MySQL:数据库,本睿共享 文(不做演示)。
PHP:脚本语言,本文以 PHP 7.4.19 为例。
安装及其配置Nginx
安装Nginx
[root@rzk opt]# dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.20.2-1.el8.ngx.x86_64.rpm
查看 版本
[root@rzk opt]# nginx -v
nginx version: nginx/1.20.2
执行以下命令,查看 Nginx 配置文件路径
可查看 include 配置项的 /etc/nginx/conf.d/*.conf 即为 Nginx 配置文件的默认路径
[root@rzk opt]# cat /etc/nginx/nginx.conf
执行以下命令备份配置文件
[root@rzk opt]# cd /etc/nginx/conf.d/
[root@rzk conf.d]# ls
default.conf
[root@rzk conf.d]# cp default.conf default.conf.bak
打开 default.conf 文件
[root@rzk conf.d]# vim default.conf
在 location 的 index 项中添加 index.php
location / {
# 替换成网址的根路径
root /usr/share/nginx/html;
# 添加index.php
index index.html index.htm index.php;
}
去掉location之前的
修改 root 项为您的网站根目录
修改 fastcgi_pass 项为 unix:/run/php-fpm/www.sock;,Nginx 通过 UNIX 套接字与 PHP-FPM 建立联系,该配置与 /etc/php-fpm.d/www.conf 文件内的 listen 配置一致
location ~ .php$ {
# 修改 root 项为您的网站根目录
root /home/rzk/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SC睿共享 RIPT_FILENAME $document_root$fastcgi_script_name;;
include fastcgi_params;
}
按 E
睿共享 sc,输入 :wq,保存文件并返回。
启动Nginx
启动 Nginx
systemctl start nginx
并设置为开机自启动
systemctl enable nginx
安装及配置 PHP
添加并更新 epel 源
[root@rzk conf.d]# dnf -y install epel-release
[root@rzk conf.d]# dnf update epel-release
删除缓存的无用软件包并更新软件源。
dnf clean all
dnf makecache
执行以下命令,启动 PHP 7.4 模块
dnf module enable php:7.4
安装所需 PHP 对应模块
dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
查看php版本
[root@rzk conf.d]# php -v
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.19, Copyright (c), by Zend Technologies
打开 www.conf 文件
将 user = apache 及 group = apache 修改为 user = nginx 及 group = nginx。如下图所示:
[root@rzk conf.d]# vim /etc/php-fpm.d/www.conf
睿共享
按 Esc,输入 :wq,保存文件并返回。
启动php-fpm
查看php-fpm状态
[root@rzk html]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: 睿共享 disabled)
Active: inactive (dead)
启动 php-fpm
systemctl start php-fpm
并设置为开机自启动
systemctl enable php-fpm
验证环境配置
创建测试文件
/home/rzk/html Nginx 中已配置的网站根目录,以该目录为例
[root@rzk html]# echo "<?php phpinfo(); ?>" >> /home/rzk/html/index.php
访问效果
后续步骤
运行以下命令将phpinfo.php文件删除,消除数据泄露风险。
rm -rf <网站根目录>/phpinfo.php
其中,<网站根目录>需要替换为您在nginx.conf中配置的网站根目录。
本文配置的网站根目录为/home/rzk/html,因此需要运行以下命令:.
rm -rf /home/rzk/html/index.php