Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
setup-project-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
setup-project-platform
Commits
1da222bb
Commit
1da222bb
authored
Oct 23, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改部署脚本
parent
8e44723f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
286 additions
and
41 deletions
+286
-41
product-deploy.sh
product-deploy.sh
+286
-41
No files found.
product-deploy.sh
View file @
1da222bb
...
@@ -50,6 +50,7 @@ MYSQL_SERVICE="${SERVICE_PATH}/mysql.service"
...
@@ -50,6 +50,7 @@ MYSQL_SERVICE="${SERVICE_PATH}/mysql.service"
RABBITMQ
=
"rabbitmq"
RABBITMQ
=
"rabbitmq"
RABBIT_CENTOS_FILENAME
=
"rabbitmq-server-3.9.16-1.el7.noarch.rpm"
RABBIT_CENTOS_FILENAME
=
"rabbitmq-server-3.9.16-1.el7.noarch.rpm"
ELANG_CENTOS_FILENAME
=
"erlang-23.3.4.11-1.el7.x86_64.rpm"
ELANG_CENTOS_FILENAME
=
"erlang-23.3.4.11-1.el7.x86_64.rpm"
RABBITMQ_IP
=
"127.0.0.1"
RABBITMQ_USER
=
"taxi_mq"
RABBITMQ_USER
=
"taxi_mq"
RABBITMQ_PASSWORD
=
"admin@2020"
RABBITMQ_PASSWORD
=
"admin@2020"
RABBITMQ_CONF_PATH
=
"/etc/rabbitmq/"
RABBITMQ_CONF_PATH
=
"/etc/rabbitmq/"
...
@@ -67,10 +68,16 @@ CDATE=$(date "+%Y-%m-%d")
...
@@ -67,10 +68,16 @@ CDATE=$(date "+%Y-%m-%d")
CTIME
=
$(
date
"+%H-%M-%S"
)
CTIME
=
$(
date
"+%H-%M-%S"
)
NACOS
=
"nacos"
NACOS
=
"nacos"
NACOS_HOST
=
"127.0.0.1"
NACOS_FILENAME
=
"nacos-server-2.1.1.tar.gz"
NACOS_FILENAME
=
"nacos-server-2.1.1.tar.gz"
NACOS_SERVICE
=
"
${
SERVICE_PATH
}
/
${
NACOS
}
.service"
NACOS_SERVICE
=
"
${
SERVICE_PATH
}
/
${
NACOS
}
.service"
NACOS_EXECPATH
=
"
${
OPT_PATH
}
/
${
NACOS
}
"
NACOS_EXECPATH
=
"
${
OPT_PATH
}
/
${
NACOS
}
"
# 项目部署平台
SETUP_PROJECT_PLATFORM
=
"setup-project-manager"
SETUP_PROJECT_PLATFORM_FILENAME
=
"
${
SETUP_PROJECT_PLATFORM
}
.tar.gz"
SETUP_PROJECT_PLATFORM_SERVICE
=
"
${
SERVICE_PATH
}
/
${
SETUP_PROJECT_PLATFORM
}
.service"
SETUP_PROJECT_PLATFORM_EXECPATH
=
"
${
PUBLISH_PATH
}
/
${
SETUP_PROJECT_PLATFORM
}
"
#加锁
#加锁
shell_lock
()
{
shell_lock
()
{
...
@@ -87,8 +94,6 @@ writelog() {
...
@@ -87,8 +94,6 @@ writelog() {
echo
${
LOGINFO
}
echo
${
LOGINFO
}
}
}
check_cpu
()
{
check_cpu
()
{
cpu_info
=
$(
arch
)
cpu_info
=
$(
arch
)
writelog
${
cpu_info
}
writelog
${
cpu_info
}
...
@@ -119,10 +124,9 @@ setup_java() {
...
@@ -119,10 +124,9 @@ setup_java() {
echo
"export JRE_HOME=
$JAVA_HOME
/jre"
>>
/etc/profile
echo
"export JRE_HOME=
$JAVA_HOME
/jre"
>>
/etc/profile
echo
"export CLASSPATH=.:
$JAVA_HOME
/lib/dt.jar:
$JAVA_HOME
/lib/tools.jar:
$JRE_HOME
/lib"
>>
/etc/profile
echo
"export CLASSPATH=.:
$JAVA_HOME
/lib/dt.jar:
$JAVA_HOME
/lib/tools.jar:
$JRE_HOME
/lib"
>>
/etc/profile
echo
"export PATH=
$PATH
:
$JAVA_HOME
/bin:
$JRE_HOME
/bin"
>>
/etc/profile
echo
"export PATH=
$PATH
:
$JAVA_HOME
/bin:
$JRE_HOME
/bin"
>>
/etc/profile
source
/etc/profile
#使配置立即生效
#检查Java安装和配置
#检查Java安装和配置
cd
$BASEDIR
cd
$BASEDIR
writelog
"
setup java finish!
"
writelog
"
JAVA 环境软件安装完成
"
}
}
setup_redis
()
{
setup_redis
()
{
...
@@ -161,7 +165,7 @@ WantedBy=multi-user.target
...
@@ -161,7 +165,7 @@ WantedBy=multi-user.target
systemctl daemon-reload
systemctl daemon-reload
systemctl start redis
systemctl start redis
writelog
"
setup redis finish
"
writelog
"
REDIS环境软件安装完成!
"
}
}
setup_mysql
()
{
setup_mysql
()
{
...
@@ -188,7 +192,7 @@ socket=/tmp/mysql.sock
...
@@ -188,7 +192,7 @@ socket=/tmp/mysql.sock
port =
${
MYSQL_PORT
}
port =
${
MYSQL_PORT
}
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
symbolic-links=0
max_connections=
4
00
max_connections=
8
00
innodb_file_per_table=1
innodb_file_per_table=1
#表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=1
lower_case_table_names=1
...
@@ -269,16 +273,12 @@ setup_rabbitmq() {
...
@@ -269,16 +273,12 @@ setup_rabbitmq() {
rabbitmqctl set_user_tags
${
RABBITMQ_USER
}
administrator
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags
${
RABBITMQ_USER
}
administrator
# 设置用户角色,分配操作权限
rabbitmqctl set_permissions
-p
/
${
RABBITMQ_USER
}
".*"
".*"
".*"
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions
-p
/
${
RABBITMQ_USER
}
".*"
".*"
".*"
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
}
}
setup_nginx
()
{
setup_nginx
()
{
writelog
"setup nginx"
writelog
"setup nginx"
writelog
"stop and remove nginx"
systemctl stop nginx
systemctl stop nginx
writelog
"centos nginx clear"
yum remove nginx
yum remove nginx
writelog
"nginx depend install"
writelog
"nginx depend install"
yum
-y
install
pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
yum
-y
install
pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
...
@@ -295,7 +295,7 @@ setup_nginx() {
...
@@ -295,7 +295,7 @@ setup_nginx() {
make
make
make
install
make
install
cp
-a
${
BASEDIR
}
/release/conf/
${
NGINX
}
.conf
${
NGINX_CONF
}
/bin/cp
-arf
${
BASEDIR
}
/release/conf/
${
NGINX
}
.conf
${
NGINX_CONF
}
echo
"[Unit]
echo
"[Unit]
Description=
${
NGINX
}
Description=
${
NGINX
}
...
@@ -322,6 +322,21 @@ setup_nginx() {
...
@@ -322,6 +322,21 @@ setup_nginx() {
}
}
setup_font
()
{
writelog
"字体安装..."
yum
install
-y
fontconfig mkfontscale
tar
-zvxf
$BASEDIR
/soft/font/Fonts.tar.gz
-C
/usr/share/fonts
chmod
-R
755 /usr/share/fonts/Fonts
mkfontscale
mkfontdir
fc-cache
-f
-v
writelog
"字体安装完成"
}
clear_deploy
()
{
clear_deploy
()
{
PROJECT_NAME
=
$1
PROJECT_NAME
=
$1
SERVICE
=
$2
SERVICE
=
$2
...
@@ -331,11 +346,12 @@ clear_deploy() {
...
@@ -331,11 +346,12 @@ clear_deploy() {
rm
-rf
${
EXECPATH
}
rm
-rf
${
EXECPATH
}
rm
-f
${
NGINX_CONF_PATH
}
/
${
PROJECT_NAME
}
.conf
rm
-f
${
NGINX_CONF_PATH
}
/
${
PROJECT_NAME
}
.conf
if
[
!
-d
${
EXECPATH
}
]
;
then
mkdir
-p
${
EXECPATH
}
mkdir
-p
${
EXECPATH
}
chmod
-R
755
$EXECPATH
fi
}
}
init_setup
()
{
init_setup
()
{
writelog
"linux install and update"
writelog
"linux install and update"
...
@@ -343,18 +359,32 @@ init_setup() {
...
@@ -343,18 +359,32 @@ init_setup() {
yum
install
-y
gcc
yum
install
-y
gcc
yum
install
-y
socat
yum
install
-y
socat
}
}
init_deploy
()
{
init_deploy
()
{
writelog
"init_deploy..."
writelog
"创建文件目录..."
if
[
!
-d
${
OPT_PATH
}
]
;
then
mkdir
-p
${
OPT_PATH
}
chmod
-R
755
$OPT_PATH
fi
if
[
!
-d
${
PUBLISH_PATH
}
]
;
then
mkdir
-p
${
PUBLISH_PATH
}
mkdir
-p
${
PUBLISH_PATH
}
chmod
-R
755
$PUBLISH_PATH
chmod
-R
755
$PUBLISH_PATH
fi
if
[
!
-d
"/mortals/app/data"
]
;
then
mkdir
-p
/mortals/app/data
mkdir
-p
/mortals/app/data
chmod
-R
755 /mortals
fi
if
[
!
-d
"/mortals/app/logs"
]
;
then
mkdir
-p
/mortals/app/logs
mkdir
-p
/mortals/app/logs
chmod
-R
755 /mortals
chmod
-R
755 /mortals
writelog
"init_deploy finish"
fi
writelog
"创建文件目录完成"
}
}
...
@@ -380,6 +410,50 @@ build_service() {
...
@@ -380,6 +410,50 @@ build_service() {
}
}
build_nginx_mysql_stream
()
{
# upstream upstreams_mysql {
# server 192.168.106.7:3306 max_fails=3 fail_timeout=30s;
# }
# server {
# listen 1208;
# proxy_connect_timeout 5s;
# proxy_timeout 30s;
# proxy_pass 192.168.10.151:3306; #需要代理的端口
# proxy_pass 192.168.106.7:3306 max_fails=5 fail_timeout=30s;
# }
SERVICE
=
$1
echo
" server {"
>
${
SERVICE
}
echo
" listen 3306;"
>>
${
SERVICE
}
echo
" proxy_connect_timeout 10s;"
>>
${
SERVICE
}
echo
" proxy_timeout 30s;"
>>
${
SERVICE
}
echo
" proxy_pass
${
MYSQL_HOST
}
:
${
MYSQL_PORT
}
;"
>>
${
SERVICE
}
echo
" }"
>>
${
SERVICE
}
writelog
"mysql tcp代理创建完成"
}
build_nginx_redis_stream
()
{
# upstream upstreams_mysql {
# server 192.168.106.7:3306 max_fails=3 fail_timeout=30s;
# }
# server {
# listen 1208;
# proxy_connect_timeout 5s;
# proxy_timeout 30s;
# proxy_pass 192.168.10.151:3306; #需要代理的端口
# proxy_pass 192.168.106.7:3306 max_fails=5 fail_timeout=30s;
# }
SERVICE
=
$1
echo
" server {"
>
${
SERVICE
}
echo
" listen
${
REDIS_HOST
}
;"
>>
${
SERVICE
}
echo
" proxy_connect_timeout 10s;"
>>
${
SERVICE
}
echo
" proxy_timeout 30s;"
>>
${
SERVICE
}
echo
" proxy_pass
${
REDIS_HOST
}
:
${
REDIS_HOST
}
;"
>>
${
SERVICE
}
echo
" }"
>>
${
SERVICE
}
writelog
"mysql tcp代理创建完成"
}
start_service_and_nginx
()
{
start_service_and_nginx
()
{
PROJECT_NAME
=
$1
PROJECT_NAME
=
$1
systemctl
enable
${
PROJECT_NAME
}
systemctl
enable
${
PROJECT_NAME
}
...
@@ -394,16 +468,31 @@ start_service_and_nginx() {
...
@@ -394,16 +468,31 @@ start_service_and_nginx() {
}
}
nacos_deploy
()
{
nacos_deploy
()
{
writelog
"
${
NACOS
}
_deploy..."
writelog
"开始安装NACOS"
#writelog "判断当前NACOS 的IP是否已经修改,如果修改了,则重新生成配置文件 IP:$NACOS_HOST"
#writelog "判断当前mysql 的IP是否已经修改,如果修改了,则重新生成配置文件 IP:$MYSQL_HOST"
if
[
"
$MYSQL_HOST
"
!=
"127.0.0.1"
]
;
then
writelog
"判断当前mysql 的IP已经修改,则重新生成配置文件 IP:
$MYSQL_HOST
"
build_nginx_mysql_stream
$NGINX_CONF_PATH
/mysql_stream.stream
#todo 添加nginx 针对当前ip的sql stream代理
fi
#查看进程是否存在,如果存在 则不安装
project_status
=
$(
systemctl status
"
${
NACOS
}
"
|
grep
Active |
awk
'{print $2}'
)
if
[
-n
"
$project_status
"
]
;
then
echo
"NACOS项目已经安装,状态:
$project_status
"
return
fi
rm
-rf
${
NACOS_SERVICE
}
rm
-rf
${
NACOS_SERVICE
}
rm
-rf
${
NACOS_EXECPATH
}
rm
-rf
${
NACOS_EXECPATH
}
mkdir
-p
${
NACOS_EXECPATH
}
mkdir
-p
${
NACOS_EXECPATH
}
writelog
"tar -zvxf
$BASEDIR
/release/nacos/
${
NACOS_FILENAME
}
-C
${
NACOS_EXECPATH
}
--strip-components
3
"
writelog
"tar -zvxf
$BASEDIR
/release/nacos/
${
NACOS_FILENAME
}
-C
${
NACOS_EXECPATH
}
--strip-components
1
"
tar
-zvxf
$BASEDIR
/release/nacos/
${
NACOS_FILENAME
}
-C
${
NACOS_EXECPATH
}
--strip-components
3
tar
-zvxf
$BASEDIR
/release/nacos/
${
NACOS_FILENAME
}
-C
${
NACOS_EXECPATH
}
--strip-components
1
writelog
"
${
NACOS
}
_deploy init db
..."
writelog
"
NACOS 导入数据库中
..."
writelog
" mysql -h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<
${
NACOS_EXECPATH
}
/db/nacos.sql"
writelog
" mysql -h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<
.
/db/nacos.sql"
mysql
-h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<
${
NACOS_EXECPATH
}
/db/nacos.sql
mysql
-h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<
.
/db/nacos.sql
writelog
"创建NACOS启动服务..."
echo
""
>
$NACOS_SERVICE
echo
""
>
$NACOS_SERVICE
echo
"[Unit]"
>>
$NACOS_SERVICE
echo
"[Unit]"
>>
$NACOS_SERVICE
echo
"Description=nacos"
>>
$NACOS_SERVICE
echo
"Description=nacos"
>>
$NACOS_SERVICE
...
@@ -418,24 +507,60 @@ nacos_deploy() {
...
@@ -418,24 +507,60 @@ nacos_deploy() {
echo
""
>>
$NACOS_SERVICE
echo
""
>>
$NACOS_SERVICE
echo
"[Install]"
>>
$NACOS_SERVICE
echo
"[Install]"
>>
$NACOS_SERVICE
echo
"WantedBy=multi-user.target"
>>
$NACOS_SERVICE
echo
"WantedBy=multi-user.target"
>>
$NACOS_SERVICE
writelog
"NACOS_SERVICE创建完成!"
systemctl
enable
${
NACOS
}
chmod
-R
755
$NACOS_EXECPATH
systemctl
enable
$NACOS_SERVICE
systemctl daemon-reload
systemctl daemon-reload
systemctl stop
${
NACOS
}
&&
systemctl start
${
NACOS
}
systemctl stop
${
NACOS
}
&&
systemctl start
${
NACOS
}
project_status
=
$(
systemctl status
"
${
PROJECT_NAME
}
"
|
grep
Active |
awk
'{print $2}'
)
writelog
"NACOS_SERVICE创建启动完成!"
project_status
=
$(
systemctl status
"
${
NACOS
}
"
|
grep
Active |
awk
'{print $2}'
)
jcpid
=
$(
ps
-ef
|
grep
-v
"grep"
|
grep
"
${
NACOS
}
"
|
awk
'{print $2}'
)
jcpid
=
$(
ps
-ef
|
grep
-v
"grep"
|
grep
"
${
NACOS
}
"
|
awk
'{print $2}'
)
writelog
"
${
NACOS
}
服务启动!pid is
${
jcpid
}
,status is
${
project_status
}
"
writelog
"
${
NACOS
}
服务启动!pid is
${
jcpid
}
,status is
${
project_status
}
"
}
}
setup_project_deploy
()
{
writelog
"开始安装项目部署平台"
#writelog "判断当前NACOS 的IP是否已经修改,如果修改了,则重新生成配置文件 IP:$NACOS_HOST"
if
[
"
$MYSQL_HOST
"
!=
"127.0.0.1"
]
;
then
writelog
"判断当前mysql 的IP已经修改,则重新生成配置文件 IP:
$MYSQL_HOST
"
build_nginx_mysql_stream
$NGINX_CONF_PATH
/mysql_stream.stream
fi
project_status
=
$(
systemctl status
"
${
SETUP_PROJECT_PLATFORM
}
"
|
grep
Active |
awk
'{print $2}'
)
if
[
-n
"
$project_status
"
]
;
then
writelog
"工程已经安装,状态:
$project_status
"
return
fi
clear_deploy
${
SETUP_PROJECT_PLATFORM
}
${
SETUP_PROJECT_PLATFORM_SERVICE
}
${
SETUP_PROJECT_PLATFORM_EXECPATH
}
writelog
"项目安装平台清理完成"
writelog
"项目安装平台部署中..."
tar
-zvxf
${
BASEDIR
}
/release/
${
SETUP_PROJECT_PLATFORM
}
/
${
SETUP_PROJECT_PLATFORM_FILENAME
}
-C
${
PUBLISH_PATH
}
writelog
"项目安装平台导入数据库中..."
writelog
" mysql -h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<./db/setup.sql"
mysql
-h
${
MYSQL_HOST
}
-P
${
MYSQL_PORT
}
-u
${
MYSQL_USER
}
-p
${
MYSQL_PASSWORD
}
<./db/setup.sql
writelog
"项目安装平台导入数据库完成!"
writelog
"创建项目启动服务..."
build_service
${
SETUP_PROJECT_PLATFORM
}
${
SETUP_PROJECT_PLATFORM_SERVICE
}
${
SETUP_PROJECT_PLATFORM_EXECPATH
}
chmod
-R
755
$PUBLISH_PATH
systemctl
enable
$SETUP_PROJECT_PLATFORM
systemctl daemon-reload
systemctl stop
${
SETUP_PROJECT_PLATFORM
}
&&
systemctl start
${
SETUP_PROJECT_PLATFORM
}
writelog
"安装平台服务创建启动完成!"
project_status
=
$(
systemctl status
"
${
SETUP_PROJECT_PLATFORM
}
"
|
grep
Active |
awk
'{print $2}'
)
jcpid
=
$(
ps
-ef
|
grep
-v
"grep"
|
grep
"
${
SETUP_PROJECT_PLATFORM
}
"
|
awk
'{print $2}'
)
writelog
"安装平台服务启动!pid is
${
jcpid
}
,status is
${
project_status
}
"
}
rollback
()
{
rollback
()
{
echo
"功能未实现!"
writelog
"功能未实现!"
}
}
back_menu
()
{
back_menu
()
{
echo
"功能未实现!"
writelog
"功能未实现!"
}
}
program_deploy
()
{
program_deploy
()
{
...
@@ -444,6 +569,7 @@ program_deploy() {
...
@@ -444,6 +569,7 @@ program_deploy() {
setup_mysql
setup_mysql
setup_nginx
setup_nginx
setup_redis
setup_redis
setup_font
setup_rabbitmq
setup_rabbitmq
writelog
"system setup finish"
writelog
"system setup finish"
}
}
...
@@ -468,6 +594,10 @@ function menu() { #显示菜单
...
@@ -468,6 +594,10 @@ function menu() { #显示菜单
4.redis连接配置
4.redis连接配置
5.rabbitmq连接配置
6.nacos连接配置
0.退出
0.退出
...
@@ -491,7 +621,9 @@ function submenu() { #显示子菜单
...
@@ -491,7 +621,9 @@ function submenu() { #显示子菜单
5.nginx安装
5.nginx安装
6.全部安装
6.字体安装
7.全部安装
9.更新Linux系统
9.更新Linux系统
...
@@ -502,7 +634,6 @@ function submenu() { #显示子菜单
...
@@ -502,7 +634,6 @@ function submenu() { #显示子菜单
eof
eof
}
}
function
num
()
{
#选项
function
num
()
{
#选项
read
-p
"请输入您需要操作的项目: "
number
read
-p
"请输入您需要操作的项目: "
number
case
$number
in
case
$number
in
...
@@ -515,6 +646,15 @@ function num() { #选项
...
@@ -515,6 +646,15 @@ function num() { #选项
2
)
2
)
project_deploy
project_deploy
;;
;;
3
)
mysql_config
;;
4
)
redis_config
;;
5
)
rabbitmq_config
;;
5
)
5
)
rollback
rollback
;;
;;
...
@@ -530,21 +670,29 @@ function subnum() { #选项
...
@@ -530,21 +670,29 @@ function subnum() { #选项
read
-p
"请输入您需要安装的环境软件: "
number
read
-p
"请输入您需要安装的环境软件: "
number
case
$number
in
case
$number
in
1
)
1
)
#Java
setup_java
setup_java
;;
;;
2
)
2
)
#mysql
setup_mysql
setup_mysql
;;
;;
3
)
3
)
#redis
setup_redis
setup_redis
;;
;;
4
)
4
)
#rabbitmq
setup_rabbitmq
setup_rabbitmq
;;
;;
5
)
5
)
#nginx
setup_nginx
setup_nginx
;;
;;
6
)
6
)
setup_font
;;
7
)
program_deploy
program_deploy
;;
;;
9
)
9
)
...
@@ -560,13 +708,110 @@ function subnum() { #选项
...
@@ -560,13 +708,110 @@ function subnum() { #选项
esac
esac
}
}
function
mysql_config
()
{
#mysql配置
while
true
;
do
read
-p
"默认
$MYSQL_HOST
,请输入数据库连接ip: "
ip_address
#空白输入,默认ip
if
[
"
$ip_address
"
=
""
]
;
then
ip_address
=
$MYSQL_HOST
break
fi
check_ip
$ip_address
[
$?
-eq
0
]
&&
break
done
while
true
;
do
read
-p
"默认端口号
$MYSQL_PORT
,请输入数据库连接端口: "
port
if
[
"
$port
"
=
""
]
;
then
port
=
$MYSQL_PORT
break
fi
if
[[
$port
-gt
1025
&&
$port
-lt
65534
]]
;
then
break
fi
done
# read -p "默认用户$MYSQL_USER,请输入数据库用户: " db_user
#read -p "默认密码$MYSQL_PASSWORD,请输入数据库密码: " db_password
#验证port
MYSQL_HOST
=
$ip_address
MYSQL_PORT
=
$port
#MYSQL_USER=$db_user
#MYSQL_PASSWORD=$db_password
echo
"本地数据库连接已经修改为:
$MYSQL_HOST
$MYSQL_PORT
$MYSQL_USER
$MYSQL_PASSWORD
"
}
function
redis_config
()
{
#redis配置 非本机ip 添加nginx 代理,代理的ip为输入的ip
while
true
;
do
read
-p
"默认
$REDIS_HOST
,请输入redis连接ip: "
ip_address
if
[
"
$ip_address
"
=
""
]
;
then
ip_address
=
$REDIS_HOST
break
fi
check_ip
$ip_address
[
$?
-eq
0
]
&&
break
done
while
true
;
do
read
-p
"默认端口号
$REDIS_PORT
,请输入redis连接端口: "
port
if
[
"
$port
"
=
""
]
;
then
port
=
$REDIS_PORT
break
fi
if
[[
$port
-gt
1025
&&
$port
-lt
65534
]]
;
then
writelog
"输入的端口号:
$port
"
break
fi
done
REDIS_HOST
=
$ip_address
REDIS_PORT
=
$port
#read -p "默认密码$REDIS_PASSWORD,请输入redis密码: " db_password
writelog
"本地redis连接已经修改为:
$REDIS_HOST
$REDIS_PORT
"
}
function
rabbitmq_config
()
{
#rabbitmq配置
while
true
;
do
read
-p
"默认
$RABBITMQ_IP
,请输入rabbitmq连接ip: "
ip_address
check_ip
$ip_address
[
$?
-eq
0
]
&&
break
done
writelog
"本地rabbitmq连接ip已经修改为:
$RABBITMQ_IP
"
}
function
check_ip
()
{
local
IP
=
$1
echo
$IP
VALID_CHECK
=
$(
echo
$IP
|
awk
-F
.
'$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}'
)
if
echo
$IP
|
grep
-E
"^[0-9]{1,3}
\.
[0-9]{1,3}
\.
[0-9]{1,3}
\.
[0-9]{1,3}$"
>
/dev/null
;
then
if
[
$VALID_CHECK
==
"yes"
]
;
then
# echo "IP $IP available!"
return
0
else
# echo "IP $IP not available!"
return
1
fi
else
#echo "IP format error!"
return
1
fi
}
#主函数
#主函数
main
()
{
main
()
{
if
[
-f
${
LOCK_FILE
}
]
;
then
if
[
-f
${
LOCK_FILE
}
]
;
then
echo
"Deploy is running"
&&
exit
writelog
"Deploy is running"
&&
exit
fi
fi
#判断是否初始安装,如果是,则解压当前文件包到当前目录下
if
[
!
-d
"./soft"
]
;
then
writelog
"文件夹不存在 解压"
tar
-xvf
./publish.tar
else
writelog
"文件夹存在"
fi
#获取参数
#获取参数
while
getopts
h:P:u:p opt
;
do
while
getopts
h:P:u:p opt
;
do
case
$opt
in
case
$opt
in
...
@@ -587,7 +832,7 @@ main() {
...
@@ -587,7 +832,7 @@ main() {
MYSQL_PASSWORD
=
$OPTARG
MYSQL_PASSWORD
=
$OPTARG
;;
;;
?
)
?
)
echo
"
$opt
is an invalid option"
writelog
"
$opt
is an invalid option"
;;
;;
esac
esac
done
done
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment