在 Debian 上自定义 LNMP 配置的实用步骤
一 准备与安装
sudo apt update && sudo apt upgrade -ysudo systemctl start nginx && sudo systemctl enable nginxsudo systemctl start mariadb && sudo systemctl enable mariadbsudo systemctl start php<版本>-fpm && sudo systemctl enable php<版本>-fpmsudo mysql_secure_installationapt-cache search php | grep php<主版本>二 核心配置与目录结构
sudo nginx -t && sudo systemctl reload nginxsudo systemctl restart mariadb(或 mysql)php --ini 查看(区分 CLI 与 FPM)sudo systemctl restart php<版本>-fpm三 关键自定义示例
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 nginxcgi.fix_pathinfo=0(编辑 /etc/php/<版本>/fpm/php.ini)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
sudo systemctl restart php<版本>-fpminnodb_buffer_pool_size=1G(按内存调整,常见为内存的 50%–75%)max_connections=200slow_query_log=1,slow_query_log_file=/var/log/mysql/mysql-slow.log,long_query_time=2sudo systemctl restart mariadb四 安全与运维要点
sudo ufw allow 'Nginx Full'sudo apt install certbot python3-certbot-nginx -ysudo certbot --nginx -d yourdomain.comsudo chown -R www-data:www-data /var/www/yourdomain.comerror_log 配置sudo cp file file.bak-$(date +%F)sudo nginx -t 校验,再 reload/restart 服务