Linux安装Nginx脚本

Hello , 我是恒。
由于有一个脚本网页的仓库,开发必不可少的是自动化安装脚本
该shell脚本是根据某篇文章的脚本改进优化后写出来的,增加了软链接创建系统服务注册的功能。
同时我也书写了PostgreSQLNvm的脚本,请在脚本专栏阅读

快速上手

适用系统: Linux centos 7.x(其他linux也行,改一下脚本里面的软件管理包就行)
开箱即用的一键安装脚本:curl -O https://heng1.oss-cn-beijing.aliyuncs.com/nginx_install_three.sh && bash nginx_install_three.sh
注意

  1. 安装目录是/usr/local/nginx
  2. 脚本结束后记得运行命令source /etc/profile激活环境变量,最后使用nginx命令检查一下
  3. 如在香港等的服务器会无法ping到114.114.114.114导致中断,可自行修改脚本

脚本

#!/bin/bash# nginx安装包链接
nginx_url="http://nginx.org/download/nginx-1.18.0.tar.gz"
# 下载包存放路径
path="/tmp/"
# 安装路径
int_path="/usr/local/nginx"# 首先检查网络,114.114.114.114 是一个公共 DNS 服务器地址
ping -c 1 114.114.114.114 > /dev/null 2>&1
if [ $? -eq 0 ];thenecho "检测网络正常!"# 配置阿里源read -p "配置阿里源输入1,任意键跳过配置:" numbercase "$number" in1)echo "正在配置阿里源..."mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  > /dev/null 2>&1wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo > /dev/null 2>&1yum clean all > /dev/null 2>&1yum makecache > /dev/null 2>&1echo "阿里源配置已完成!";;*)echo "已跳过配置阿里源!"esac# 安装依赖包echo "正在安装依赖包..."yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel wget > /dev/null 2>&1if [ $? -eq 0 ];thenecho "依赖包安装已完成!"# 下载Nginx包echo "正在下载安装包和解压安装操作..."wget $nginx_url -P $path > /dev/null 2>&1# 创建文件夹,解压安装mkdir $int_path && cd $int_pathnginx_pack=`echo $nginx_url | awk -F '/' '{print $NF}'`tar -xf $path/$nginx_pack -C ./# 编译安装nginx_path=`echo $nginx_pack |awk -F '.' '{print $1"."$2"."$3}'`cd $nginx_path && ./configure > /dev/null 2>&1make > /dev/null 2>&1make install  > /dev/null 2>&1echo "Nginx 安装已完成!路径为/usr/local/nginx"# 添加软链接echo "export PATH=\$PATH:/usr/local/nginx/sbin" >> /etc/profilesource /etc/profile# 将nginx注册为系统服务cat > /etc/systemd/system/nginx.service <<EOF
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF# 重新加载 systemd 配置sudo systemctl daemon-reloadecho -e "#####################################\n启动Nginx: nginx\n停止Nginx: nginx -s stop\n重载Nginx: nginx -s reload\n检查Nginx: nginx -t\n注意运行命令:source /etc/profile\n#####################################"elseecho "依赖包安装失败,请检查yum源或者网络问题!!!"exit 1fi
elseecho "检测网络连接异常,请检查网络再操作!"exit 1
fi

自行修改注意

  1. 在linux上修改脚本格式为Unix格式,使用dos2unix修改格式
sudo yum install dos2unix # 如果没有安装,先安装
dos2unix hello.sh
  1. 添加执行权限chmod +x hello.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Github2024-05-21 Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10C项目1TypeScript项目1youtube-dl - 从YouTube和其他网站下载视频的命令行程序 创建周期:4951 天开发语言:Python协议类型:The …

同时安装python2 和python3

最近的项目因为工具的原因 需要同时安装python2 和python3 我又想学着使用python 写东西 导致遇到了很多问题 记录下来 1 同时安装 python2 和python 1.1 安装完把/确认 Path 环境变量里 同时有python2,python2\Scripts和python3 ,python3\Scripts四个环境变量 修改python3…

LabVIEW通过OPC与PLC通讯

使用LabVIEW通过OPC与PLC&#xff08;可编程逻辑控制器&#xff09;通讯是一种常见的工业自动化解决方案。以下是详细的过程介绍&#xff0c;帮助理解并实现该通讯。 1. 理解OPC与PLC OPC&#xff1a;OPC是一种工业通讯协议&#xff0c;旨在实现不同硬件和软件之间的互操作性…

【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)

这篇文章,主要介绍SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)。 目录 一、多数据源配置 1.1、多数据源介绍 1.2、搭建基础工程

AIGC(人工智能生成内容)行业现在适合进入吗

AIGC&#xff08;人工智能生成内容&#xff09;行业现在适合进入吗 发展前景 随着深度学习、自然语言处理&#xff08;NLP&#xff09;、计算机视觉等人工智能技术的飞速发展&#xff0c;AIGC在文本、图像、音频、视频等多个领域都取得了显著的成果&#xff0c;为行业发展提供…

AWS存储之Amazon Aurora

Amazon Aurora是亚马逊自研提供的一种高性能、高可用性的关系型数据库引擎&#xff0c;兼容MySQL和PostgreSQL&#xff0c;提供了与这两种数据库引擎兼容的功能&#xff0c;同时具有更高的性能和可靠性。 Amazon Aurora在全球范围内提供无与伦比的高性能和可用性&#xff0c;完…

3步骤找回丢失文件!EasyRecovery让你轻松应对数据灾难!

EasyRecovery&#xff1a;数据丢失的终结者&#xff0c;您的数字世界守护神 在数字化时代&#xff0c;数据已经成为我们生活的一部分。无论是个人照片、重要文件还是企业资料&#xff0c;数据都扮演着重要的角色。然而&#xff0c;意外删除、格式化、系统崩溃或病毒攻击等原因导…

云原生架构内涵_2.云原生架构原则

云原生架构本身作为一种架构&#xff0c;也有若干架构原则作为应用架构的核心架构控制面&#xff0c;通过遵从这些架构原则可以让技术主管和架构师在做技术选择时不会出现大的偏差。 1.服务化原则 当代码规模超出小团队的合作范围时&#xff0c;就有必要进行服务化拆分了&…

QT的互斥量和信号量

文章目录 一、mutex互斥量1、mutex2、相关成员函数 二、semaphore信号量1、信号量2、成员函数 三、Linux内核中的互斥锁、读写锁、自旋锁、信号量四、QT简单日志类代码 一、mutex互斥量 1、mutex 目的是保护对象、数据结构或代码段&#xff0c;以便一次只有一个线程可以访问它…

云易办springboot+vue后端

springbootvue云易办后端项目完成 一.创建项目 创建父项目&#xff1a;yeb&#xff0c; 使用spring Initializr&#xff0c;完成创建之后删除无用文件夹&#xff0c;作为父项目 添加packaging <packaging>pom</packaging>二.创建子模块&#xff1a;yeb-server …

Day 56 647. 回文子串 516.最长回文子序列

回文子串 给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会被视作不同的子串。 示例 1&#xff1a; 输入&#xff1a;“abc”输出&#xff1a;3解释&#xf…

蓝桥杯—SysTick中断精准定时实现闪烁灯

在嵌入式系统中&#xff0c;SysTick_Handler 是一个中断服务例程&#xff08;Interrupt Service Routine, ISR&#xff09;&#xff0c;用于处理 SysTick 定时器的中断。SysTick 定时器通常用于提供一个周期性的定时中断&#xff0c;可以用来实现延时或者周期性任务。 SysTick…

SQL 语言:数据控制

文章目录 概述授权&#xff08;GRANT)销权&#xff08;REVOKE&#xff09;总结 概述 SQL语言中的数据控制权限分配是数据库管理的重要组成部分&#xff0c;它涉及到如何合理地为用户分配对数据库资源的访问和使用权限。 权限类型&#xff1a;在SQL中&#xff0c;权限主要分为…

【Python-OS】os.path.splitext()

作用&#xff1a;将文件路径分割成文件名和扩展名两部分。 slide_id, _ os.path.splitext(slide) print("slide:") print(slide) print("slide_id:") print(slide_id)注&#xff1a; slide是文件名&#xff0c;可以自行赋值

妙解设计模式之单例模式

目录 单例模式的概念生活中的例子编程中的例子 软件工程中的实际应用配置管理日志管理数据库连接池缓存管理线程池管理 单例模式的概念 单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;用于确保一个类在整个程序运行过程中只有一个实例&#xf…

TD3的定义 离线强化学习在医疗领域的应用

1.TD3是什么&#xff1f; TD3全称为Twin Delayed Deep Deterministic policy gradient algorithm&#xff0c;中文名称为孪生延迟深度确定性策略梯度&#xff0c;从英文名称可以看出&#xff0c;TD3是基于DDPG的一个改进算法。直接来说&#xff0c;TD3针对DDPG做出了三个方面的…

【IT小知识】堡垒机支持哪些私有云平台?

随着企业对网络安全的重视&#xff0c;以及等保政策的要求&#xff0c;越来越多的企业打算采购堡垒机。但不少企业对于堡垒机了解不多&#xff0c;一些小伙伴在问&#xff0c;堡垒机支持哪些私有云平台&#xff1f; 堡垒机支持哪些私有云平台&#xff1f; 【回答】&#xff1a…

数据分析必备:一步步教你如何用Pandas做数据分析(10)

1、Pandas 文本处理 Pandas 文本处理操作实例 在本章中&#xff0c;我们将使用基本的Series / Index讨论字符串操作。在随后的章节中&#xff0c;我们将学习如何在DataFrame上应用这些字符串函数。 Pandas提供了一组字符串函数&#xff0c;可以轻松地对字符串数据进行操作。最…

Talken - 语音命令系统

Talken - 语音命令系统 通过集成最先进的语音命令系统 Talken,释放游戏的全部潜力。 借助 Talken,您可以让玩家通过语音命令控制动作,从而重新定义游戏体验。 观看角色移动并对语音指令做出实时反应,模糊游戏与现实之间的界限。 主要特征: 🗣️ 语音驱动的游戏玩法:…

openssh生成ed25519的密钥对并实现服务器间免密钥登录

本文讲解如何用openssh生成ed25519的密钥对并实现服务器间免密钥登录。 注意&#xff1a;所有操作均在客户机侧 一、生成 ED25519 密钥 用需要免密登录的用户&#xff08;本例为username&#xff09; 运行“ssh-keygen -t ed25519 -b 256” [usernamelocalhost ~]$ ssh-keyge…