在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环境部署完成!"
deploy_lnmp.sh
。chmod +x deploy_lnmp.sh
。./deploy_lnmp.sh
。mysql-server
替换为 mariadb-server
。如果你需要配置防火墙以允许HTTP和HTTPS流量,可以使用以下命令:
sudo ufw allow 'Nginx Full'
这将允许HTTP和HTTPS流量通过防火墙。
通过以上步骤,你可以在Debian系统上自动化部署LNMP环境。