centos

centos lnmp自定义脚本编写

小樊
40
2025-12-05 20:29:06
栏目: 智能运维

在CentOS系统中,LNMP是指Linux、Nginx、MySQL和PHP的组合。如果你想要编写一个自定义脚本来管理LNMP环境,你可以使用Shell脚本语言。以下是一个简单的示例,用于安装和配置LNMP环境的基本组件。

首先,确保你有root权限或者可以使用sudo命令来执行需要root权限的操作。

创建一个新的Shell脚本文件,例如 install_lnmp.sh

#!/bin/bash

# 更新系统软件包
echo "Updating system packages..."
yum update -y

# 安装Nginx
echo "Installing Nginx..."
yum install -y epel-release
yum install -y nginx

# 启动Nginx服务并设置开机启动
echo "Starting Nginx service..."
systemctl start nginx
systemctl enable nginx

# 安装MySQL
echo "Installing MySQL..."
yum install -y mysql-server

# 启动MySQL服务并设置开机启动
echo "Starting MySQL service..."
systemctl start mysqld
systemctl enable mysqld

# 安全配置MySQL
echo "Securing MySQL..."
mysql_secure_installation <<EOF
y
EOF

# 安装PHP和PHP-FPM
echo "Installing PHP and PHP-FPM..."
yum install -y php php-fpm

# 配置PHP-FPM
echo "Configuring PHP-FPM..."
sed -i 's/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php-fpm.d/www.conf

# 重启PHP-FPM服务
echo "Restarting PHP-FPM service..."
systemctl restart php-fpm

# 配置Nginx以使用PHP-FPM
echo "Configuring Nginx to use PHP-FPM..."
cat <<EOF >> /etc/nginx/conf.d/default.conf
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

# 重启Nginx服务
echo "Restarting Nginx service..."
systemctl restart nginx

echo "LNMP environment installation complete!"

保存文件后,给脚本添加执行权限:

chmod +x install_lnmp.sh

运行脚本以安装和配置LNMP环境:

sudo ./install_lnmp.sh

请注意,这个脚本是一个基本的示例,它没有包括所有的错误处理和配置选项。在生产环境中部署之前,你应该根据你的具体需求对脚本进行相应的调整和完善。此外,MySQL的安全配置部分使用了 mysql_secure_installation 命令,它会引导你完成一些安全设置,包括设置root密码、移除匿名用户、禁止root远程登录等。根据你的需求,你可能需要调整这些设置。

0
看了该问题的人还看了