Linux 下自動化腳本安裝Jdk、Nginx等軟件

一、安裝JDK腳本html

#!/bin/bash

# jdk install
# 請將下載的jdk-xxx-linux-xxx.tar.gz包與此腳本放置到同一目錄
# 授予此腳本可執行權限(chmod +x install_jdk.sh)
# 在終端執行此腳本開始安裝(./文件名)
# 注意:不可有多個版本的jdk包!
#      爲了使配置的環境變量生效,安裝完成後你應該從新登錄。

jvmpath=/usr/local/java
# 不存在
if [ ! -d "$jvmpath" ]; then
    echo "正在建立$jvmpath目錄"
    sudo mkdir $jvmpath
    echo "目錄$jvmpath建立成功"
fi

jdkfile=$(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" ]; then
            echo "您正在使用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"
        fi
    else
        # 不存在即去外網下載jdk文件
        if [ ! -f "$jdkfile" ]; then
            echo "您正在使用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"
        fi
    fi

jdkfile=$(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/environment

    mv ~/.bashrc ~/.bashrc.backup.java
    cat ~/.bashrc.backup.java >> ~/.bashrc
    echo "PATH=\"$PATH:$jvmpath/$jdkdirname/bin\"" >> ~/.bashrc
    echo "JAVA_HOME=$jvmpath/$jdkdirname" >> ~/.bashrc
    echo "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> ~/.bashrc
    source ~/.bashrc
    echo "配置環境成功"

    echo "測試是否安裝成功"
    java -version
    echo "安裝成功"

fi

二、安裝nginx腳本:java

#!/bin/bash
#判斷是不是root用戶
# 授予此腳本可執行權限(chmod +x install_nginx.sh)

if [ $(id -u) != "0" ]; then
        echo "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 ]
then
    echo "nginx 用戶組正在添加."
    groupadd $Group_Name
else
    echo " The $Group_Name user group already exists."
    echo "nginx 用戶組已經添加."
fi

#判斷nginx用戶是否存在
egrep "^$User_Name" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
    echo "nginx 用戶正在添加."
    useradd -g $Group_Name $User_Name
else
-- VISUAL --
    fi
}

#編譯安裝nginx
cd $Setup_path

#解壓nginx包到/usr/local/nginx
tar -zxvf $Package -C $Install_Path

cd $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 ]]
then
    make && make install
else
    echo "編譯失敗,請從新編譯" && 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

三、重啓nginx 80端口腳本linux

#!/bin/bash
fuser -k 80/tcp

if [ $? -eq 0 ]
   then
        echo "正在啓動nginx..."
        ./nginx
        if [ $? -eq 0 ]
                then
                        echo "啓動成功!"
        fi
fi

參考:
一、centos7上JDK安裝與一鍵安裝腳本的編寫nginx

二、Linux一鍵安裝JDK八、Tomcat8腳本centos

三、centos上一鍵安裝jdk、tomcat腳本tomcat

四、tar 命令bash

五、Nginx腳本一鍵安裝cookie

六、Nginx腳本一鍵安裝第二版oracle

七、nginx downloadcurl

八、Vim中如何全選並複製?

相關文章
相關標籤/搜索