在 CentOS 上配置 LNMP 虚拟主机
一 准备与安装
sudo yum update -y && sudo yum install -y epel-release yum-utilssudo yum install -y nginxsudo systemctl start nginx && sudo systemctl enable nginxsudo yum install -y mariadb-server mariadbsudo systemctl start mariadb && sudo systemctl enable mariadbsudo mysql_secure_installationsudo yum install -y php php-fpm php-mysqlndsudo systemctl start php-fpm && sudo systemctl enable php-fpmsudo firewall-cmd --permanent --add-service=http --add-service=https && sudo firewall-cmd --reloadsudo systemctl status nginx php-fpm mariadb,确保均为 active (running)。二 手动配置 Nginx 虚拟主机
sudo mkdir -p /var/www/example.com/htmlsudo chown -R nginx:nginx /var/www/example.com && sudo chmod -R 755 /var/www/example.comecho "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/html/index.phpsudo vi /etc/nginx/conf.d/example.com.confserver {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/www.sock; # 路径以实际 php-fpm 配置为准
}
location ~ /\.ht {
deny all;
}
}
sudo nginx -tsudo systemctl reload nginx三 一键安装包 LNMP 的虚拟主机管理
./vhost.sh(按向导输入域名、目录、伪静态、日志、数据库、FTP、SSL 等)./lnmp vhost list./lnmp vhost del/root/lnmp {start|stop|reload|restart|status}include rewrite/xxx.conf;./lnmp ssl add(支持 Let’s Encrypt 或自备证书)。四 启用 HTTPS 与常见问题
sudo yum install -y certbot python2-certbot-nginxsudo certbot --nginx -d example.com -d www.example.comecho "0 0,12 * * * root certbot renew --quiet" | sudo tee -a /etc/crontabfastcgi_pass 一致(如 /run/php-fpm/www.sock),查看 /var/log/nginx/error.log 与 /var/log/php-fpm/*.log