怎样配置centos lnmp虚拟主机
导读:在 CentOS 上配置 LNMP 虚拟主机 一 准备与安装 更新系统并安装常用工具 执行:sudo yum update -y && sudo yum install -y epel-release yum-utils...
在 CentOS 上配置 LNMP 虚拟主机
一 准备与安装
- 更新系统并安装常用工具
- 执行:
sudo yum update -y & & sudo yum install -y epel-release yum-utils
- 执行:
- 安装并启动 Nginx
- 执行:
sudo yum install -y nginx - 启动与开机自启:
sudo systemctl start nginx & & sudo systemctl enable nginx
- 执行:
- 安装 MariaDB(或 MySQL)
- 执行:
sudo yum install -y mariadb-server mariadb - 启动与开机自启:
sudo systemctl start mariadb & & sudo systemctl enable mariadb - 安全初始化:
sudo mysql_secure_installation
- 执行:
- 安装 PHP 与 PHP-FPM
- 执行:
sudo yum install -y php php-fpm php-mysqlnd - 启动与开机自启:
sudo systemctl start php-fpm & & sudo systemctl enable php-fpm
- 执行:
- 防火墙放行 HTTP/HTTPS
- 执行:
sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
- 执行:
- 验证服务状态
- 执行:
sudo systemctl status nginx php-fpm mariadb,确保均为 active (running)。
- 执行:
二 手动配置 Nginx 虚拟主机
- 创建站点目录与示例文件
- 执行:
sudo mkdir -p /var/www/example.com/html - 权限:
sudo chown -R nginx:nginx /var/www/example.com & & sudo chmod -R 755 /var/www/example.com - 测试页:
echo "< ?php phpinfo(); ?> " | sudo tee /var/www/example.com/html/index.php
- 执行:
- 新建虚拟主机配置
- 新建:
sudo vi /etc/nginx/conf.d/example.com.conf - 写入以下内容(按需调整域名与路径):
server { 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; } }
- 新建:
- 检查并重载 Nginx
- 检查:
sudo nginx -t - 重载:
sudo systemctl reload nginx
- 检查:
- 域名解析
- 在域名注册商将 example.com 与 www.example.com 的 A 记录指向服务器 IP。
三 一键安装包 LNMP 的虚拟主机管理
- 适用场景:使用 lnmp.org 一键安装包部署的环境
- 常用命令
- 添加站点:
./vhost.sh(按向导输入域名、目录、伪静态、日志、数据库、FTP、SSL 等) - 列出站点:
./lnmp vhost list - 删除站点:
./lnmp vhost del - 状态管理:
/root/lnmp { start|stop|reload|restart|status}
- 添加站点:
- 伪静态
- 规则文件位置:/usr/local/nginx/conf/rewrite/(LNMP 1.5+),在站点配置中
include rewrite/xxx.conf;
- 规则文件位置:/usr/local/nginx/conf/rewrite/(LNMP 1.5+),在站点配置中
- SSL
- 为已存在站点添加 SSL:
./lnmp ssl add(支持 Let’s Encrypt 或自备证书)。
- 为已存在站点添加 SSL:
四 启用 HTTPS 与常见问题
- 使用 Let’s Encrypt 为站点启用 HTTPS
- 安装客户端:
sudo yum install -y certbot python2-certbot-nginx - 申请并自动配置:
sudo certbot --nginx -d example.com -d www.example.com - 自动续期(建议):
echo "0 0,12 * * * root certbot renew --quiet" | sudo tee -a /etc/crontab
- 安装客户端:
- 常见问题排查
- 403/404:检查 root 路径、index 指令、目录权限是否为 nginx:nginx 且 755
- PHP 空白页/502:确认 php-fpm 运行、监听套接字路径与 Nginx
fastcgi_pass一致(如 /run/php-fpm/www.sock),查看 /var/log/nginx/error.log 与 /var/log/php-fpm/*.log - 端口与防火墙:确保 80/443 已放行,云服务器安全组策略同步开放
- 证书不受信任/不显示小绿锁:证书过期或页面内存在 HTTP 资源(CSS/JS/图片),使用浏览器开发者工具(F12)排查并替换为 HTTPS 资源。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样配置centos lnmp虚拟主机
本文地址: https://pptw.com/jishu/759005.html
