shell脚本一键安装启动nginx

shell脚本一键安装启动nginx

通过这篇文章,可以学习到基本的shell命令,可以编写简单的脚本

使用方法

前提:前提是设备可以连通网络,并且有yum环境。

  1. 先给脚本执行权限:chmod +x nginx.sh

  2. 后面可以加要安装的目录,默认安装到当前目录,也可以指定绝对路径或安装路径

    例如:./nginx.sh /home/env/nginx

  3. 注意传的路径一定要合法

脚本编写

nginx.sh

#!/bin/bash
path=$1
# 提取第一个字符
first_char=${path:0:1}

#判断是否传参
if [ $# == 0 ]; then
 	path=$(pwd)
    echo "没有指定参数路径,默认安装到当前目录:$path"
#安装到当前路径
elif [ $path = "./" ] || [ $path = "." ]; then
    path=$(pwd)
    echo "设置安装到当前路径$path"
#如果第一个参数的第一个字符不是/,说明参数是相对路径,就拼接绝对路径
elif [ "$first_char" != "/" ]; then
	path=$(pwd)/$path
	echo "设置了相对路径,安装到路径安:$path"
#排除上面的情况之后,传的参数为绝对路径
elif [ "$1" ]; then
    echo "设置安装路径为:$path"
fi

echo "下载nginx源码包"
wget http://nginx.org/download/nginx-1.20.1.tar.gz
echo "正在解压"
tar -zxf nginx-1.20.1.tar.gz
echo "正在安装c/c++的编译器"
yum install gcc
yum install gcc-c++
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
cd nginx-1.20.1
echo "正在配置编译顺序与安装路径"
./configure --prefix=$path
echo "正在编译安装"
make&&make install
echo "删除压缩包"
cd ..
rm -rf nginx-1.20.1
rm -rf nginx-1.20.1.tar.gz
cd $path/sbin
echo "nginx版本为:"
version=`./nginx -v`
#启动nginx
./nginx
echo "容器已启动,当前nginx版本为$version"

如果在执行脚本的过程中遇到问题,可以参考以下解决方案

常见问题

回车符(坏的解释器)

bash: ./nginx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

如图:

image-20230811131126093

出现以上问题的原因是直接从其他地方复制粘贴脚本,然而其他地方是有回车符号的,因此在linux中执行脚本会出现上面的错误

使用以下命令可以解决:

sed -i 's/\r$//' nginx.sh

这将删除脚本中的回车符,使其在Linux系统上正常运行。然后你可以重新运行脚本

未预期的文件结尾

image-20230811131408635

产生原因:

原因一:

脚本编写语法有问题,也会出现这个错误

原因二:

windows系统下,每行的结尾为 \r\n (回车 换行)
linux系统下,每行的结尾为 \n (换行)
max系统下 每行的结尾为 \r (回车)

解决方案:

将linux中的sh文件下载到windows,然后直接在里面编写自己的shell脚本,然后再上传至linux运行即可解决

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_boss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值