需求分析与目标设定

  • 明确脚本目标:自动化安装Nginx并完成基础配置
  • 适用场景:Ubuntu/CentOS等主流Linux发行版
  • 功能范围:版本选择、依赖安装、服务启停
#!/bin/bash
set -e
#修改主机名 
hostnamectl set-hostname $1
#su
#禁用firewalld和selinux
systemctl stop firewalld
systemctl disable firewalld

#setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
#下载nginx
mkdir -p /nginx
cd /nginx
curl -O https://nginx.org/download/nginx-1.28.0.tar.gz
#解压
tar xf nginx-1.28.0.tar.gz
cd nginx-1.28.0
#解决依赖
yum install gcc pcre-devel openssl-devel zlib-devel -y
#编译前的配置
 ./configure  --prefix=/usr/local/nginx1    --with-http_ssl_module  --with-http_v2_module  --with-http_v3_module   --with-http_sub_module  --with-stream   --with-stream_ssl_module   --with-threads
#编译
make -j 2
#编译安装
make install
#修改PATH环境变量
echo  'PATH=/usr/local/nginx1/sbin:$PATH' >> /etc/bashrc

echo  "安装nginx成功,请使用nginx"

#停止nginx
#nginx -s stop
echo "安装nginx成功"
#考虑开机自启
echo '/usr/local/nginx1/sbin/nginx' >> /etc/rc.local
chmod +x /etc/rc.d/rc.local

注意:开头的hostnamectl set-hostname $1 这里接了一个位置变量,运行脚本时要添加你自己想要的主机名,例如:bash nginx.sh nginx 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐