首页主机资讯如何在Debian上自定义LNMP配置

如何在Debian上自定义LNMP配置

时间2025-12-03 15:33:04发布访客分类主机资讯浏览1128
导读:在 Debian 上自定义 LNMP 配置的实用步骤 一 准备与安装 更新系统并安装组件: 执行:sudo apt update && sudo apt upgrade -y 安装:Nginx、MariaDB/MySQL...

在 Debian 上自定义 LNMP 配置的实用步骤

一 准备与安装

  • 更新系统并安装组件:
    • 执行:sudo apt update & & sudo apt upgrade -y
    • 安装:NginxMariaDB/MySQLPHP 与 PHP-FPM(按需选择扩展,如:php-mysql php-curl php-gd php-mbstring php-xml php-zip
  • 启动与开机自启:
    • sudo systemctl start nginx & & sudo systemctl enable nginx
    • sudo systemctl start mariadb & & sudo systemctl enable mariadb
    • sudo systemctl start php< 版本> -fpm & & sudo systemctl enable php< 版本> -fpm
  • 数据库安全初始化:sudo mysql_secure_installation
  • 版本确认与路径提示:
    • PHP 版本可用:apt-cache search php | grep php< 主版本>
    • PHP-FPM 监听常见路径:/run/php/php< 版本> -fpm.sock/var/run/php/php< 版本> -fpm.sock(以实际安装为准)

二 核心配置与目录结构

  • Nginx
    • 主配置:/etc/nginx/nginx.conf
    • 站点配置:/etc/nginx/sites-available/,启用时软链到 /etc/nginx/sites-enabled/
    • 测试与重载:sudo nginx -t & & sudo systemctl reload nginx
  • MariaDB/MySQL
    • 主配置:/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf
    • 重启服务:sudo systemctl restart mariadb(或 mysql
  • PHP
    • php.ini 位置可用:php --ini 查看(区分 CLIFPM
    • FPM 池配置:/etc/php/< 版本> /fpm/pool.d/www.conf
    • 修改 FPM 后重启:sudo systemctl restart php< 版本> -fpm

三 关键自定义示例

  • 站点与 PHP 处理(Nginx 虚拟主机)
    • 建议为每个站点新建配置:/etc/nginx/sites-available/yourdomain.com
    • 启用站点:sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
    • 示例片段:
      server {
          
          listen 80;
          
          server_name yourdomain.com www.yourdomain.com;
          
          root /var/www/yourdomain.com/public;
          
          index index.php index.html;
      
      
          location / {
          
              try_files $uri $uri/ /index.php?$query_string;
      
          }
      
      
          location ~ \.php$ {
          
              include snippets/fastcgi-php.conf;
          
              fastcgi_pass unix:/run/php/php<
          版本>
          -fpm.sock;
          
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          
              include fastcgi_params;
      
          }
      
      
          location ~ /\.ht {
          
              deny all;
      
          }
      
      }
          
      
    • 测试与重载:sudo nginx -t & & sudo systemctl reload nginx
  • PHP 安全与性能
    • 关闭路径信息泄露:cgi.fix_pathinfo=0(编辑 /etc/php/< 版本> /fpm/php.ini
    • 启用 OPcache(生产建议开启):
      opcache.enable=1
      opcache.memory_consumption=128
      opcache.interned_strings_buffer=8
      opcache.max_accelerated_files=4000
      opcache.validate_timestamps=0   ;
           生产建议关闭,部署后手动清理缓存
      opcache.revalidate_freq=60
      
    • 修改后重启 FPM:sudo systemctl restart php< 版本> -fpm
  • MariaDB 基础优化(示例)
    • 编辑 /etc/mysql/mysql.conf.d/mysqld.cnf
      • innodb_buffer_pool_size=1G(按内存调整,常见为内存的 50%–75%
      • max_connections=200
      • 开启慢查询日志用于排障:slow_query_log=1slow_query_log_file=/var/log/mysql/mysql-slow.loglong_query_time=2
    • 重启数据库:sudo systemctl restart mariadb

四 安全与运维要点

  • 防火墙放行 Web 流量:
    • UFW:sudo ufw allow 'Nginx Full'
  • HTTPS 自动化:
    • 安装与签发:sudo apt install certbot python3-certbot-nginx -y
    • 命令:sudo certbot --nginx -d yourdomain.com
  • 文件与目录权限:
    • Web 根目录建议属主 www-datasudo chown -R www-data:www-data /var/www/yourdomain.com
    • 目录权限 755,文件 644
  • 日志与排错:
    • Nginx 错误日志:/var/log/nginx/error.log
    • PHP-FPM 日志:查看 /etc/php/< 版本> /fpm/pool.d/www.conferror_log 配置
    • 数据库错误日志:常见在 /var/log/mysql/error.log
  • 变更流程建议:
    • 修改前备份配置:sudo cp file file.bak-$(date +%F)
    • 每次变更后执行:sudo nginx -t 校验,再 reload/restart 服务

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Debian上自定义LNMP配置
本文地址: https://pptw.com/jishu/762427.html
在Debian上如何部署LNMP集群 Debian与LNMP的集成方案有哪些

游客 回复需填写必要信息