Loading escheduler-ui/install-escheduler-ui.sh +130 −104 Original line number Diff line number Diff line #!/bin/bash # 当前路径 esc_basepath=$(cd `dirname $0`; pwd) echo "欢迎使用easy scheduler前端部署脚本,目前前端部署脚本仅支持Centos" echo "请在 escheduler-ui 目录下执行" # 配置前端访问端口 esc_proxy="8888" # 配置代理后端接口 esc_proxy_port="http://192.168.xx.xx:12345" # 本机ip esc_ipaddr='127.0.0.1' esc_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') #To be compatible with MacOS and Linux if [[ "$OSTYPE" == "darwin"* ]]; then # Mac OSX echo "Easy Scheduler ui install not support Mac OSX operating system" exit 1 elif [[ "$OSTYPE" == "linux-gnu" ]]; then # linux echo "linux" elif [[ "$OSTYPE" == "cygwin" ]]; then # POSIX compatibility layer and Linux environment emulation for Windows echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "msys" ]]; then # Lightweight shell and GNU utilities compiled for Windows (part of MinGW) echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "win32" ]]; then echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "freebsd"* ]]; then # ... echo "freebsd" else # Unknown. echo "Operating system unknown, please tell us(submit issue) for better service" exit 1 fi # 区分版本 version=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'` echo "========================================================================配置信息=======================================================================" echo "前端访问端口:${esc_proxy}" echo "后端代理接口地址:${esc_proxy_port}" echo "静态文件地址:${esc_basepath}/dist" echo "当前路径:${esc_basepath}" echo "本机ip:${esc_ipaddr}" echo "========================================================================配置信息=======================================================================" echo "" menu(){ cat <<END ================================================= 1.CentOS6安装 2.CentOS7安装 3.Ubuntu安装 4.退出 ================================================= END } # 创建文件并配置nginx Loading @@ -72,7 +23,7 @@ eschedulerConf(){ E_http_upgrade='$http_upgrade' echo " server { listen $esc_proxy;# 访问端口 listen $1;# 访问端口 server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; Loading @@ -81,7 +32,7 @@ eschedulerConf(){ index index.html index.html; } location /escheduler { proxy_pass ${esc_proxy_port}; # 接口地址 proxy_pass $2; # 接口地址 proxy_set_header Host $E_host; proxy_set_header X-Real-IP $E_remote_addr; proxy_set_header x_real_ipP $E_remote_addr; Loading @@ -106,15 +57,32 @@ eschedulerConf(){ } ubuntu(){ #更新源 apt-get update #安装nginx apt-get install -y nginx # 配置nginx eschedulerConf $1 $2 # 启动nginx /etc/init.d/nginx start sleep 1 if [ $? -ne 0 ];then /etc/init.d/nginx start fi nginx -s reload } centos7(){ # nginx是否安装 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm sudo yum install -y nginx echo "nginx 安装成功" rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx # 配置nginx eschedulerConf eschedulerConf $1 $2 # 解决 0.0.0.0:8888 问题 yum -y install policycoreutils-python Loading @@ -123,11 +91,13 @@ centos7(){ # 开放前端访问端口 firewall-cmd --zone=public --add-port=$esc_proxy/tcp --permanent # 重启防火墙 firewall-cmd --reload # 启动nginx systemctl start nginx sleep 1 if [ $? -ne 0 ];then systemctl start nginx fi nginx -s reload # 调整SELinux的参数 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config Loading @@ -138,37 +108,22 @@ centos7(){ centos6(){ # yum E_basearch='$basearch' E_releasever='$releasever' echo " [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$E_releasever/$E_basearch/ gpgcheck=0 enabled=1 " >> /etc/yum.repos.d/nginx.repo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm # install nginx yum install nginx -y # 配置nginx eschedulerConf eschedulerConf $1 $2 # 防火墙 E_iptables=`lsof -i:$esc_proxy | wc -l` if [ "$E_iptables" -gt "0" ];then # 已开启端口防火墙重启 service iptables restart else # 未开启防火墙添加端口再重启 iptables -I INPUT 5 -i eth0 -p tcp --dport $esc_proxy -m state --state NEW,ESTABLISHED -j ACCEPT service iptables save service iptables restart fi # start # 启动nginx /etc/init.d/nginx start sleep 1 if [ $? -ne 0 ];then /etc/init.d/nginx start fi nginx -s reload # 调整SELinux的参数 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config Loading @@ -178,16 +133,87 @@ centos6(){ } # centos 6 if [[ $version -eq 6 ]]; then centos6 function main(){ echo "欢迎使用easy scheduler前端部署脚本,目前前端部署脚本仅支持CentOS,Ubuntu" echo "请在 escheduler-ui 目录下执行" #To be compatible with MacOS and Linux if [[ "$OSTYPE" == "darwin"* ]]; then # Mac OSX echo "Easy Scheduler ui install not support Mac OSX operating system" exit 1 elif [[ "$OSTYPE" == "linux-gnu" ]]; then # linux echo "linux" elif [[ "$OSTYPE" == "cygwin" ]]; then # POSIX compatibility layer and Linux environment emulation for Windows echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "msys" ]]; then # Lightweight shell and GNU utilities compiled for Windows (part of MinGW) echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "win32" ]]; then echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "freebsd"* ]]; then # ... echo "freebsd" else # Unknown. echo "Operating system unknown, please tell us(submit issue) for better service" exit 1 fi # 配置前端访问端口 read -p "请输入nginx代理端口,不输入,则默认8888 :" esc_proxy_port if [ -z "${esc_proxy_port}" ];then esc_proxy_port="8888" fi # centos 7 if [[ $version -eq 7 ]]; then centos7 read -p "请输入api server代理ip,必须输入,例如:192.168.xx.xx :" esc_api_server_ip if [ -z "${esc_api_server_ip}" ];then echo "api server代理ip不能为空." exit 1 fi read -p "请输入api server代理端口,不输入,则默认12345 :" esc_api_server_port if [ -z "${esc_api_server_port}" ];then esc_api_server_port="12345" fi # api server后端地址 esc_api_server="http://$esc_api_server_ip:$esc_api_server_port" # 本机ip地址 esc_ipaddr=$(ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2 | head -n 1 | awk -F '/' '{print $1}') # 提示信息 menu read -p "请输入安装编号(1|2|3|4):" num case $num in 1) centos6 ${esc_proxy_port} ${esc_api_server} ;; 2) centos7 ${esc_proxy_port} ${esc_api_server} ;; 3) ubuntu ${esc_proxy_port} ${esc_api_server} ;; 4) echo $"Usage :sh $0" exit 1 ;; *) echo $"Usage :sh $0" exit 1 esac echo "请浏览器访问:http://${esc_ipaddr}:${esc_proxy_port}" echo "请浏览器访问:http://${esc_ipaddr}:${esc_proxy}" } main Loading
escheduler-ui/install-escheduler-ui.sh +130 −104 Original line number Diff line number Diff line #!/bin/bash # 当前路径 esc_basepath=$(cd `dirname $0`; pwd) echo "欢迎使用easy scheduler前端部署脚本,目前前端部署脚本仅支持Centos" echo "请在 escheduler-ui 目录下执行" # 配置前端访问端口 esc_proxy="8888" # 配置代理后端接口 esc_proxy_port="http://192.168.xx.xx:12345" # 本机ip esc_ipaddr='127.0.0.1' esc_ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}') #To be compatible with MacOS and Linux if [[ "$OSTYPE" == "darwin"* ]]; then # Mac OSX echo "Easy Scheduler ui install not support Mac OSX operating system" exit 1 elif [[ "$OSTYPE" == "linux-gnu" ]]; then # linux echo "linux" elif [[ "$OSTYPE" == "cygwin" ]]; then # POSIX compatibility layer and Linux environment emulation for Windows echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "msys" ]]; then # Lightweight shell and GNU utilities compiled for Windows (part of MinGW) echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "win32" ]]; then echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "freebsd"* ]]; then # ... echo "freebsd" else # Unknown. echo "Operating system unknown, please tell us(submit issue) for better service" exit 1 fi # 区分版本 version=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'` echo "========================================================================配置信息=======================================================================" echo "前端访问端口:${esc_proxy}" echo "后端代理接口地址:${esc_proxy_port}" echo "静态文件地址:${esc_basepath}/dist" echo "当前路径:${esc_basepath}" echo "本机ip:${esc_ipaddr}" echo "========================================================================配置信息=======================================================================" echo "" menu(){ cat <<END ================================================= 1.CentOS6安装 2.CentOS7安装 3.Ubuntu安装 4.退出 ================================================= END } # 创建文件并配置nginx Loading @@ -72,7 +23,7 @@ eschedulerConf(){ E_http_upgrade='$http_upgrade' echo " server { listen $esc_proxy;# 访问端口 listen $1;# 访问端口 server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; Loading @@ -81,7 +32,7 @@ eschedulerConf(){ index index.html index.html; } location /escheduler { proxy_pass ${esc_proxy_port}; # 接口地址 proxy_pass $2; # 接口地址 proxy_set_header Host $E_host; proxy_set_header X-Real-IP $E_remote_addr; proxy_set_header x_real_ipP $E_remote_addr; Loading @@ -106,15 +57,32 @@ eschedulerConf(){ } ubuntu(){ #更新源 apt-get update #安装nginx apt-get install -y nginx # 配置nginx eschedulerConf $1 $2 # 启动nginx /etc/init.d/nginx start sleep 1 if [ $? -ne 0 ];then /etc/init.d/nginx start fi nginx -s reload } centos7(){ # nginx是否安装 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm sudo yum install -y nginx echo "nginx 安装成功" rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx # 配置nginx eschedulerConf eschedulerConf $1 $2 # 解决 0.0.0.0:8888 问题 yum -y install policycoreutils-python Loading @@ -123,11 +91,13 @@ centos7(){ # 开放前端访问端口 firewall-cmd --zone=public --add-port=$esc_proxy/tcp --permanent # 重启防火墙 firewall-cmd --reload # 启动nginx systemctl start nginx sleep 1 if [ $? -ne 0 ];then systemctl start nginx fi nginx -s reload # 调整SELinux的参数 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config Loading @@ -138,37 +108,22 @@ centos7(){ centos6(){ # yum E_basearch='$basearch' E_releasever='$releasever' echo " [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$E_releasever/$E_basearch/ gpgcheck=0 enabled=1 " >> /etc/yum.repos.d/nginx.repo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm # install nginx yum install nginx -y # 配置nginx eschedulerConf eschedulerConf $1 $2 # 防火墙 E_iptables=`lsof -i:$esc_proxy | wc -l` if [ "$E_iptables" -gt "0" ];then # 已开启端口防火墙重启 service iptables restart else # 未开启防火墙添加端口再重启 iptables -I INPUT 5 -i eth0 -p tcp --dport $esc_proxy -m state --state NEW,ESTABLISHED -j ACCEPT service iptables save service iptables restart fi # start # 启动nginx /etc/init.d/nginx start sleep 1 if [ $? -ne 0 ];then /etc/init.d/nginx start fi nginx -s reload # 调整SELinux的参数 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config Loading @@ -178,16 +133,87 @@ centos6(){ } # centos 6 if [[ $version -eq 6 ]]; then centos6 function main(){ echo "欢迎使用easy scheduler前端部署脚本,目前前端部署脚本仅支持CentOS,Ubuntu" echo "请在 escheduler-ui 目录下执行" #To be compatible with MacOS and Linux if [[ "$OSTYPE" == "darwin"* ]]; then # Mac OSX echo "Easy Scheduler ui install not support Mac OSX operating system" exit 1 elif [[ "$OSTYPE" == "linux-gnu" ]]; then # linux echo "linux" elif [[ "$OSTYPE" == "cygwin" ]]; then # POSIX compatibility layer and Linux environment emulation for Windows echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "msys" ]]; then # Lightweight shell and GNU utilities compiled for Windows (part of MinGW) echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "win32" ]]; then echo "Easy Scheduler ui not support Windows operating system" exit 1 elif [[ "$OSTYPE" == "freebsd"* ]]; then # ... echo "freebsd" else # Unknown. echo "Operating system unknown, please tell us(submit issue) for better service" exit 1 fi # 配置前端访问端口 read -p "请输入nginx代理端口,不输入,则默认8888 :" esc_proxy_port if [ -z "${esc_proxy_port}" ];then esc_proxy_port="8888" fi # centos 7 if [[ $version -eq 7 ]]; then centos7 read -p "请输入api server代理ip,必须输入,例如:192.168.xx.xx :" esc_api_server_ip if [ -z "${esc_api_server_ip}" ];then echo "api server代理ip不能为空." exit 1 fi read -p "请输入api server代理端口,不输入,则默认12345 :" esc_api_server_port if [ -z "${esc_api_server_port}" ];then esc_api_server_port="12345" fi # api server后端地址 esc_api_server="http://$esc_api_server_ip:$esc_api_server_port" # 本机ip地址 esc_ipaddr=$(ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2 | head -n 1 | awk -F '/' '{print $1}') # 提示信息 menu read -p "请输入安装编号(1|2|3|4):" num case $num in 1) centos6 ${esc_proxy_port} ${esc_api_server} ;; 2) centos7 ${esc_proxy_port} ${esc_api_server} ;; 3) ubuntu ${esc_proxy_port} ${esc_api_server} ;; 4) echo $"Usage :sh $0" exit 1 ;; *) echo $"Usage :sh $0" exit 1 esac echo "请浏览器访问:http://${esc_ipaddr}:${esc_proxy_port}" echo "请浏览器访问:http://${esc_ipaddr}:${esc_proxy}" } main