CentOS8搭建LNMP環(huán)境詳細(xì)教程
環(huán)境準(zhǔn)備
確保系統(tǒng)為最新狀態(tài),執(zhí)行以下命令更新軟件包:
sudo dnf update -y
安裝Nginx
步驟1:添加EPEL倉庫
sudo dnf install epel-release -y
步驟2:安裝Nginx
sudo dnf install nginx -y
步驟3:啟動(dòng)并設(shè)置開機(jī)自啟
sudo systemctl start nginx
sudo systemctl enable nginx
安裝MariaDB數(shù)據(jù)庫
步驟1:安裝MariaDB
sudo dnf install mariadb-server mariadb -y
步驟2:初始化安全配置
sudo mysql_secure_installation
步驟3:啟動(dòng)服務(wù)
sudo systemctl start mariadb
sudo systemctl enable mariadb
安裝PHP環(huán)境
步驟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及擴(kuò)展
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塊內(nèi)添加以下配置:
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服務(wù):
sudo systemctl restart nginx
驗(yàn)證環(huán)境
測試PHP解析
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
瀏覽器訪問http://服務(wù)器IP/info.php顯示PHP信息頁即表示成功。
數(shù)據(jù)庫連接測試
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默認(rèn)密碼
- 禁用PHP危險(xiǎn)函數(shù)(如exec、system)
- 定期檢查Nginx和PHP日志文件
- 使用Let's Encrypt配置HTTPS加密