CentOS8搭建LNMP环境详细教程
环境准备
确保系统为最新状态,执行以下命令更新软件包:
sudo dnf update -y
安装Nginx
步骤1:添加EPEL仓库
sudo dnf install epel-release -y
步骤2:安装Nginx
sudo dnf install nginx -y
步骤3:启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
安装MariaDB数据库
步骤1:安装MariaDB
sudo dnf install mariadb-server mariadb -y
步骤2:初始化安全配置
sudo mysql_secure_installation
步骤3:启动服务
sudo systemctl start mariadb
sudo systemctl enable mariadb
安装PHP环境
步骤1:启用Remi仓库
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo dnf module reset php -y
sudo dnf module enable php:remi-7.4 -y
步骤2:安装PHP及扩展
sudo dnf install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y
步骤3:配置PHP-FPM
sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php.ini
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx支持PHP
sudo vim /etc/nginx/conf.d/default.conf
在server块内添加以下配置:
location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启Nginx服务:
sudo systemctl restart nginx
验证环境
测试PHP解析
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
浏览器访问http://服务器IP/info.php显示PHP信息页即表示成功。
数据库连接测试
php -r "mysqli_connect('localhost', 'root', '你的密码') or exit(mysqli_error()); echo '连接成功';"
防火墙配置
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
安全建议
- 修改MariaDB的root默认密码
- 禁用PHP危险函数(如exec、system)
- 定期检查Nginx和PHP日志文件
- 使用Let's Encrypt配置HTTPS加密