在CentOS系统中编写一个LNMP(Linux, Nginx, MySQL/MariaDB, PHP)脚本可以帮助你自动化安装和配置这些服务。以下是一个简单的入门示例,展示了如何编写一个脚本来安装和配置这些组件。
请注意,这个脚本只是一个基础示例,实际使用时可能需要根据你的具体需求进行调整。此外,运行此类脚本需要具有root权限。
#!/bin/bash
# 更新系统
yum update -y
# 安装Nginx
yum install -y epel-release
yum install -y nginx
systemctl start nginx
systemctl enable nginx
# 安装MySQL/MariaDB
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation <<EOF
y
password
password
y
y
y
EOF
# 安装PHP
yum install -y php php-fpm php-mysqlnd
systemctl restart php-fpm
systemctl enable php-fpm
# 配置Nginx支持PHP
cat > /etc/nginx/conf.d/php.conf <<EOF
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
# 创建一个简单的PHP文件来测试
echo "<?php phpinfo(); ?>" | tee /var/www/html/index.php
# 重启Nginx以应用配置
systemctl restart nginx
echo "LNMP stack has been installed successfully!"
将上述脚本保存为 install_lnmp.sh,然后通过以下命令运行它:
chmod +x install_lnmp.sh
sudo ./install_lnmp.sh
这个脚本会执行以下操作:
mysql_secure_installation 来进行安全设置。请记住,这个脚本只是一个起点,你可能需要根据你的具体需求进行调整。例如,你可能需要配置防火墙规则来允许HTTP和HTTPS流量,或者你可能需要配置SSL证书来启用HTTPS。此外,对于生产环境,你应该考虑更多的安全措施和最佳实践。