debian

LNMP在Debian上的脚本自动化部署

小樊
46
2025-08-22 00:15:21
栏目: 智能运维

在Debian上自动化部署LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境可以通过编写Shell脚本来实现。以下是一个基本的脚本示例,用于自动化安装和配置这些服务。

#!/bin/bash

# 更新系统包列表
sudo apt-get update

# 安装Nginx
sudo apt-get install -y nginx

# 启动Nginx并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

# 安装MySQL/MariaDB
sudo apt-get install -y mysql-server

# 启动MySQL/MariaDB并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql

# 安装PHP及其常用扩展
sudo apt-get install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

# 配置PHP-FPM
sudo sed -i 's/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.4/fpm/php.ini
sudo systemctl restart php7.4-fpm

# 配置Nginx以使用PHP-FPM
sudo sed -i 's/^server_name _;/server_name _;/' /etc/nginx/sites-available/default
sudo sed -i 's/^location ~ \.php$/{/try_files \$uri =404;/d;fastcgi_pass unix:\/run\/php\/php7.4-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;include fastcgi_params;}/' /etc/nginx/sites-available/default

# 重启Nginx以应用配置更改
sudo systemctl restart nginx

# 输出完成信息
echo "LNMP环境部署完成!"

使用说明

  1. 保存脚本:将上述脚本保存为一个文件,例如 deploy_lnmp.sh
  2. 赋予执行权限:在终端中运行 chmod +x deploy_lnmp.sh
  3. 执行脚本:在终端中运行 ./deploy_lnmp.sh

注意事项

防火墙配置(可选)

如果你需要配置防火墙以允许HTTP和HTTPS流量,可以使用以下命令:

sudo ufw allow 'Nginx Full'

这将允许HTTP和HTTPS流量通过防火墙。

通过以上步骤,你可以在Debian系统上自动化部署LNMP环境。

0
看了该问题的人还看了