在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环境。