CentOS LNMP 服务器配置指南
一 环境准备与版本建议
二 安装与配置步骤
sudo yum update -y && sudo yum install -y epel-releasesudo yum install -y nginx && sudo systemctl start nginx && sudo systemctl enable nginxsudo firewall-cmd --permanent --zone=public --add-service=http && sudo firewall-cmd --reloadsudo yum install -y mariadb-server mariadb && sudo systemctl start mariadb && sudo systemctl enable mariadb && sudo mysql_secure_installationsudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && sudo yum install -y mysql-community-server && sudo systemctl start mysqld && sudo systemctl enable mysqld
sudo grep 'temporary password' /var/log/mysqld.logsudo mysql_secure_installationsudo yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-bcmath php-zipsudo systemctl start php-fpm && sudo systemctl enable php-fpm/etc/nginx/conf.d/default.conf 的 server 块中加入index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
/etc/php-fpm.d/www.conf 中确保listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
在 Nginx 中改为:fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
sudo nginx -t && sudo systemctl reload nginx && sudo systemctl reload php-fpmecho "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.phphttp://服务器IP/info.php,看到 PHP 信息页即成功。三 目录与权限建议
/var/run/php-fpm/ 目录存在且 php-fpm.sock 的属主/属组与权限配置正确(见上节)。四 常见问题与排查
sudo ss -tulpen | grep ':80'location ~ \.php$ 配置是否正确、SCRIPT_FILENAME 是否指向实际文件路径、php-fpm 是否运行、以及 SELinux/防火墙 是否放行。mysql_secure_installation 后的权限设置。