当前位置: 首页 > news >正文

Linux 下自动化脚本安装Jdk、Nginx等软件

1、安装JDK脚本

#!/bin/bash# jdk install
# 请将下载的jdk-xxx-linux-xxx.tar.gz包与此脚本放置到同一目录
# 授予此脚本可执行权限(chmod +x install_jdk.sh)
# 在终端执行此脚本开始安装(./文件名)
# 注意:不可有多个版本的jdk包!
#      为了使配置的环境变量生效,安装完成后你应该重新登陆。jvmpath=/usr/local/java
# 不存在
if [ ! -d "$jvmpath" ]; thenecho "正在创建$jvmpath目录"sudo mkdir $jvmpathecho "目录$jvmpath创建成功"
fijdkfile=$(ls | grep jdk-*-linux-*.gz)#注意这里的文件夹名称,和下面解压的jdk文件夹名称要一致,否则 执行java -version会失败
jdkdirname="jdk1.8.0_162"os_version=`uname -a`
echo $os_version
architecture="64"
echo "$os_version" | grep -q "$architecture"if [ $? -eq 0 ]then# 不存在即去外网下载jdk文件if [ ! -f "$jdkfile" ]; thenecho "您正在使用64位操作系统,为您选择64位JDK"wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz"fielse# 不存在即去外网下载jdk文件if [ ! -f "$jdkfile" ]; thenecho "您正在使用32位操作系统,为您选择32位JDK"wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-i586.tar.gz"fifijdkfile=$(ls | grep jdk-*-linux-*.gz)if [ -f "$jdkfile" ]; then#注意这里,$jdkfile解压之后会生成一个 解压包里面的文件夹,如这里的:jdk1.8.0_162/sudo tar -zxvf $jdkfile -C /usr/local/java/echo "安装JDK成功"echo "配置环境变量"# touch environment# echo "PATH=\"$PATH:/usr/lib/jvm/$jdkdirname/bin\"" >> environment# echo "JAVA_HOME=/usr/lib/jvm/$jdkdirname" >> environment# echo "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> environment# sudo mv /etc/environment /etc/environment.backup.java# sudo mv environment /etc# source /etc/environmentmv ~/.bashrc ~/.bashrc.backup.javacat ~/.bashrc.backup.java >> ~/.bashrcecho "PATH=\"$PATH:$jvmpath/$jdkdirname/bin\"" >> ~/.bashrcecho "JAVA_HOME=$jvmpath/$jdkdirname" >> ~/.bashrcecho "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> ~/.bashrcsource ~/.bashrcecho "配置环境成功"echo "测试是否安装成功"java -versionecho "安装成功"fi

2、安装nginx脚本:

#!/bin/bash
#判断是否是root用户
# 授予此脚本可执行权限(chmod +x install_nginx.sh)if [ $(id -u) != "0" ]; thenecho "Error:You must be root to run this script"
fi#每次使用只需修改自定义内容即可
#自定义用户名和组
Group_Name="nginx"
User_Name="nginx"#自定义nginx变量
Install_Path="/usr/local/nginx"
Package_Type=".tar.gz"
Version="nginx-1.13.9"
Package=$Version$Package_Type
Setup_path="/root/"
RPM="nginx"#自定义/var/tmp/nginx目录
DIR_File="/var/tmp/nginx"#下载nginx 文件
cd $Setup_path
wget http://nginx.org/download/nginx-1.13.9.tar.gz#安装依赖关系
yum group install "Development Tools" "Server Platform Deveopment"
yum install -y curl openssl-devel pcre-devel
Group_User(){
egrep "^$Group_Name" /etc/group >& /dev/null
if [ $? -ne 0 ]
thenecho "nginx 用户组正在添加."groupadd $Group_Name
elseecho " The $Group_Name user group already exists."echo "nginx 用户组已经添加."
fi#判断nginx用户是否存在
egrep "^$User_Name" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
thenecho "nginx 用户正在添加."useradd -g $Group_Name $User_Name
else
-- VISUAL --fi
}#编译安装nginx
cd $Setup_path#解压nginx包到/usr/local/nginx
tar -zxvf $Package -C $Install_Pathcd $Version#自定义配置(不推荐)
configure_opts=(
--prefix=$Install_Path
--sbin-path=$Install_Path/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
--http-client-body-temp-path=/var/tmp/nginx/client
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
--http-scgi-temp-path=/var/tmp/nginx/scgi
--with-pcre
)
./configure ${configure_opts[@]}
if [[ $? -eq 0 ]]
thenmake && make install
elseecho "编译失败,请重新编译" && exit 1
fi#添加Nginx命令到环境变量
cat >/etc/profile.d/nginx.sh <<EOF
export PATH=/usr/local/nginx/sbin/:$PATH
EOF
source /etc/profile#启动服务
/usr/local/nginx/sbin/nginx
ss -tnlp | grep nginx

3、重启nginx 80端口脚本

#!/bin/bash
fuser -k 80/tcpif [ $? -eq 0 ]thenecho "正在启动nginx..."./nginxif [ $? -eq 0 ]thenecho "启动成功!"fi
fi

参考:
1、centos7上JDK安装与一键安装脚本的编写

2、Linux一键安装JDK8、Tomcat8脚本

3、centos上一键安装jdk、tomcat脚本

4、tar 命令

5、Nginx脚本一键安装

6、Nginx脚本一键安装第二版

7、nginx download

8、Vim中如何全选并复制?

http://www.dtcms.com/a/307525.html

相关文章:

  • Java语言/Netty框架的新能源汽车充电桩系统平台
  • 《人工智能导论》(python版)第2章 python基础2.2编程基础
  • Rust视频处理开源项目精选
  • FFmpegHandler 功能解析,C语言程序化设计与C++面向对象设计的核心差异
  • 【日常问题解决方案】VS2022不小心解决方案资源管理器把关掉了怎么办
  • spring cloud alibaba ——gateway网关
  • Day36| 1049. 最后一块石头的重量 II、494.目标和、474.一和零
  • 图论-最短路Dijkstra算法
  • 澳交所技术重构窗口开启,中资科技企业如何破局?——从ASX清算系统转型看跨境金融基础设施的赋能路径
  • Python爬虫07_Requests爬取图片
  • 基于Spring Boot实现中医医学处方管理实践
  • 【05】大恒相机SDK C#开发 —— Winform中采集图像并显示
  • 金融分类提示词演示
  • 【03】大恒相机SDK C#开发 —— 回调采集图像,关闭相机
  • STM32学习记录--Day4
  • TOC-Transformer-LSTM-ABKDE,计算机一区算法龙卷风优化算法应用到概率区间预测!Matlab实现
  • 九识智能与星逻智能达成战略合作,共推“无人车 + 无人机”空地一体巡检升级
  • Java中的“Dead Code”
  • 基于 Amazon Nova Sonic 和 MCP 构建语音交互 Agent
  • set_max_delay为何失效了?
  • Python爬虫06_Requests政府采购严重违法失信行为信息记录爬取
  • 全栈:怎么把IDEA和Maven集成一下?
  • 【盘古100Pro+开发板实验例程】FPGA学习 | 基于紫光 FPGA 的键控 LED 流水灯
  • 水库泄洪声光电监测预警系统解决方案
  • Kubernetes (K8s) 部署资源的完整配置OceanBase
  • sqli-labs:Less-13关卡详细解析
  • C 语言结构体深度解析:从数据聚合到内存管理的全维度指南
  • 数据库学习------数据库事务的特性
  • ubuntu22.04系统入门 linux入门 简单命令基础复习 实现以及实践
  • Cesium 快速入门(四)相机控制完全指南