日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

一键部署十个服务脚本--可拆分---java+mysql+redis+nginx+rocketmq..等等

發布時間:2023/10/11 综合教程 112 老码农
生活随笔 收集整理的這篇文章主要介紹了 一键部署十个服务脚本--可拆分---java+mysql+redis+nginx+rocketmq..等等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java + mysql +redis + minio + nginx + rocketmq + rocketmq-console + elasticsearch + kibana + logstash 一鍵部署可拆分

#!/bin/bash

## 作者:陳步云
## 微信:15648907522
##
##
## 將基本環境yum安裝的包放入如下目錄
## /Basic-package/basic-rpm
##
##
## 將基礎環境服務包放入如下目錄
## /Basic-package
##
##
## function 0-basic-install () { ## 基礎環境安裝 cd /Basic-package/basic-rpm || exit
yum -y install *.rpm
systemctl disable firewalld
systemctl stop firewalld } function 1-java-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(java -version)" ]; then echo "command \"java\" exists on system" else
if [ -d "/cby/backend/base-service/" ]; then echo "directory \"/cby/backend/base-service/\" exists" else ## 安裝Java程序 cd /Basic-package || exit
mkdir -p /cby/backend/base-service/
cp jdk-8u102-linux-x64.tar.gz /cby/backend/base-service/
cd /cby/backend/base-service/ || exit
tar -xf jdk-8u102-linux-x64.tar.gz
mv /cby/backend/base-service/jdk1.8.0_102/ /cby/backend/base-service/jdk8/ fi if [ "$(grep "JAVA_HOME=/usr/local/jdk1.8.0_151" /etc/profile)" ]; then echo 'JAVA_HOME in profile' else ## 添加Java環境變量 echo 'export JAVA_HOME=/cby/backend/base-service/jdk8' >> /etc/profile
echo -e 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo -e 'export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile fi fi echo "java version:"
java -version } function 2-mysql-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(mysql -V)" ]; then echo "command \"mysql\" exists on system" else cd /Basic-package || exit if [ -x "mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar" ]; then echo "file \"mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar\" is executable" else ## 解壓安裝包的文件 tar xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar yum install ./*.rpm -y fi ## 啟動服務,并開機自啟 if [ "$(mysql -V)" ]; then systemctl start mysqld systemctl enable mysqld
fi ## 查看MySQL默認密碼 echo 'mysql password:'
sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $11}' ## 默認密碼獲取 mysqlpssswd=$(sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $11}') ## 一系列授權操作 mysql -u root -p$mysqlpssswd -e "set global validate_password_length=0;" --connect-expired-password
mysql -u root -p$mysqlpssswd -e "set global validate_password_policy=0;" --connect-expired-password
mysql -u root -p$mysqlpssswd -e "set password for 'root'@'localhost' = password('123456');" --connect-expired-password
mysql -u root -p$mysqlpssswd -e "use mysql;" --connect-expired-password
mysql -u root -p$mysqlpssswd -e "grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;" --connect-expired-password
mysql -u root -p123456 -e "flush privileges;" --connect-expired-password fi } function 3-redis-install () { ## 作者:陳步云
## 微信:15648907522 yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel if [ "$(redis-server --version)" ]; then echo "command \"redis\" exists on system" else if [ -d "/cby/backend/base-service/" ]; then echo "directory \"/cby/backend/base-service/\" exists" else mkdir -p /cby/backend/base-service/ fi if [ -d "/cby/backend/base-service/" ]; then ## 解壓安裝服務 cd /Basic-package || exit
cp redis-5.0.12.tar.gz /cby/backend/base-service/
cd /cby/backend/base-service/ || exit
tar xf redis-5.0.12.tar.gz
mv /cby/backend/base-service/redis-5.0.12/ /cby/backend/base-service/redis/ else mkdir -p /cby/backend/base-service/ fi if [ -d "/cby/backend/base-service/redis/" ]; then cd /cby/backend/base-service/redis/ || exit ## 寫入配置文件 cat >redis.conf<<EOF
bind 0.0.0.0
protected-mode no
daemonize yes
EOF ## 編譯此服務 make -j "$(cat /proc/cpuinfo |grep "processor"|wc -l)" fi if [ -d "/cby/backend/base-service/redis/src/" ]; then cd /cby/backend/base-service/redis/src/ || exit
make install fi ## 進入安裝目錄后啟動服務 cd /cby/backend/base-service/redis/ || exit
redis-server redis.conf fi } function 4-minio-install () { #!/bin/bash ## 作者:陳步云
## 微信:15648907522 if [ "$(/cby/backend/base-service/minio/minio -v)" ]; then echo "command \"minio\" exists on system" else
if [ -d "/cby/backend/base-service/minio/" ]; then echo "directory \"/cby/backend/base-service/minio/\" exists" else ## 添加執行權限并將服務拷貝到目的地 cd /Basic-package || exit
mkdir -p /cby/backend/base-service/minio/
cp minio /cby/backend/base-service/minio/
cd /cby/backend/base-service/minio/ || exit
chmod +x minio fi if [ "$(grep "MINIO_ACCESS_KEY" /etc/profile)" ]; then echo 'MINIO_ACCESS_KEY in profile' else ## 將賬號密碼寫入環境變量 echo -e 'export MINIO_ACCESS_KEY=minio' >> /etc/profile
echo -e 'export MINIO_SECRET_KEY=thinker@123' >> /etc/profile
source /etc/profile fi if [ -d "/cby/backend/base-service/minio/data" ]; then echo "directory \"/cby/backend/base-service/minio/data\" exists" else mkdir -p /cby/backend/base-service/minio/data fi if [ -x "/cby/backend/base-service/minio/minio" ]; then echo "file \"/cby/backend/base-service/minio/minio\" is executable" source /etc/profile
nohup /cby/backend/base-service/minio/minio server --address 0.0.0.0:9000 /cby/backend/base-service/minio/data > minio.log 2>&1 & fi fi } function 5-nginx-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(/cby/backend/base-service/nginx/sbin/nginx -v)" ]; then echo "command \"nginx\" exists on system" else
if [ -d "/cby/backend/base-service/" ]; then echo "directory \"/cby/backend/base-service/\" exists" else mkdir -p /cby/backend/base-service/ fi if [ -d "/cby/backend/base-service/nginx-1.18.0/" ]; then echo "directory \"/cby/backend/base-service/nginx-1.18.0/\" exists" else ## 解壓所需包并安裝所需依賴 cd /Basic-package || exit
cp nginx-1.18.0.tar.gz /cby/backend/base-service/
cd /cby/backend/base-service/ || exit
tar -zxf nginx-1.18.0.tar.gz
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel fi if [ -d "/cby/backend/base-service/nginx" ]; then echo "directory \"/cby/backend/base-service/nginx\" exists" else mkdir -p /cby/backend/base-service/nginx fi if [ -d "/cby/backend/base-service/nginx-1.18.0/" ]; then ## Nginx編譯 echo "directory \"/cby/backend/base-service/nginx-1.18.0/\" exists"
cd /cby/backend/base-service/nginx-1.18.0/ || exit
./configure --prefix=/cby/backend/base-service/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
make -j "$(cat /proc/cpuinfo |grep "processor"|wc -l)"
make install else exit 1 fi if [ "$(/cby/backend/base-service/nginx/sbin/nginx -v)" ]; then
echo "command \"nginx\" exists on system"
echo 'nginx version is :'
/cby/backend/base-service/nginx/sbin/nginx -v
fi fi } function 6-rocketmq-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(ls /cby/backend/base-service/rocketmq/startup.sh)" ]; then echo "command \"rocketmq\" exists on system" else
if [ -d "/cby/backend/base-service/" ]; then echo "directory \"/cby/backend/base-service/\" exists" else mkdir -p /cby/backend/base-service/ fi if [ -d "/cby/backend/base-service/package/rocketmq/" ]; then echo "directory \"/cby/backend/base-service/package/rocketmq/\" exists" else mkdir -p /cby/backend/base-service/package/rocketmq/ fi if [ -d "/cby/backend/base-service/rocketmq/" ]; then echo "directory \"/cby/backend/base-service/rocketmq/\" exists" else cd /Basic-package || exit
yum -y install unzip
cp -r rocketmq/ /cby/backend/base-service/package/
cd /cby/backend/base-service/package/rocketmq/ || exit
unzip rocketmq-all-4.5.2-bin-release.zip
mv rocketmq-all-4.5.2-bin-release/ /cby/backend/base-service/rocketmq/
cp *.sh /cby/backend/base-service/rocketmq/
cd /cby/backend/base-service/rocketmq/ || exit
sh /cby/backend/base-service/rocketmq/startup.sh fi ## 測試消息 if [ -x "/cby/backend/base-service/rocketmq/bin/tools.sh" ]; then
echo "file \"/cby/backend/base-service/rocketmq/bin/tools.sh\" is executable" echo '發送測試消息'
bash /cby/backend/base-service/rocketmq/bin/tools.sh /cby/backend/base-service/rocketmq/org.apache.rocketmq.example.quickstart.Producer echo '接受測試消息'
bash /cby/backend/base-service/rocketmq/bin/tools.sh /cby/backend/base-service/rocketmq/org.apache.rocketmq.example.quickstart.Consumer
fi fi } function 7-rocketmq-console-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(ls /cby/backend/base-service/rocketmq-console/startup.sh)" ]; then echo "command \"rocketmq-console\" exists on system" else
if [ -d "/cby/backend/base-service/" ]; then echo "directory \"/cby/backend/base-service/\" exists" else mkdir -p /cby/backend/base-service/ fi if [ -d "/cby/backend/base-service/rocketmq-console" ]; then echo "directory \"/cby/backend/base-service/rocketmq-console\" exists" else ## 將所需包拷貝過去并啟動 cd /Basic-package || exit
cp -r rocketmq-console/ /cby/backend/base-service/rocketmq-console
cd /cby/backend/base-service/rocketmq-console/ || exit
sh startup.sh
fi fi } function 8-Elasticsearch-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(ls /openes/elasticsearch)" ]; then echo "command \"elasticsearch\" exists on system" else ## 修改一些配置 cat >>/etc/security/limits.conf<<EOF
## 添加以下內容
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
EOF cat >"$(ls /etc/security/limits.d/*.conf)"<<EOF
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning. * soft nproc 4096
root soft nproc unlimited
EOF cat >>/etc/sysctl.conf<<EOF
vm.max_map_count=655360
EOF if [ -d "/openes/" ]; then echo "directory \"/openes/\" exists" else cd /Basic-package || exit
mkdir -p /openes/ ## 創建目錄后將安裝包拷貝過去 cp elasticsearch-7.13.2-linux-x86_64.tar.gz /openes/ ## 添加用戶并設置密碼 useradd openes
echo "es" | passwd --stdin openes
chown -R openes:openes /openes/ sysctl -p su - openes <<!
cd /openes
tar xf elasticsearch-7.13.2-linux-x86_64.tar.gz
mv elasticsearch-7.13.2/ elasticsearch/ if [ -d "/openes/es_repo/data" ]; then echo "directory \"/openes/es_repo/data\" exists" else mkdir -p /openes/es_repo/data fi if [ -d "/openes/es_repo/logs" ]; then echo "directory \"/openes/es_repo/logs\" exists" else mkdir -p /openes/es_repo/logs fi cat >>/openes/elasticsearch/config/elasticsearch.yml<<EOF
## 修改以下配置
node.name: node-1
## 數據目錄位置
path.data: /openes/es_repo/data
## 日志目錄位置
path.logs: /openes/es_repo/logs
cluster.initial_master_nodes: ["node-1"]
## 綁定到0.0.0.0,允許任何ip來訪問
network.host: 0.0.0.0
EOF /openes/elasticsearch/bin/elasticsearch -d
! fi sleep 20s
curl -I http://127.0.0.1:9200/ fi } function 9-Kibana-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(ls /openes/kibana)" ]; then echo "command \"elasticsearch\" exists on system" else cd /Basic-package || exit
mkdir -p /openes/ ## 創建目錄后將安裝包拷貝過去
## 并賦予權限 cp -r kibana/ /openes/package/
chown -R openes:openes /openes/
su - openes <<!
cd /openes/package/
tar xf kibana-7.13.2-linux-x86_64.tar.gz
mv kibana-7.13.2-linux-x86_64/ /openes/kibana/
mv *.sh /openes/kibana/ cat >>/openes/kibana/config/kibana.yml<<EOF
## 修改以下配置
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
EOF cd /openes/kibana/
sh startup.sh ! sleep 20s ## 測試驗證 curl -I http://127.0.0.1:5601/ fi } function 10-Logstash-install () { ## 作者:陳步云
## 微信:15648907522 if [ "$(ls /openes/logstash)" ]; then echo "command \"logstash\" exists on system" else cd /Basic-package || exit
mkdir -p /openes/ ## 創建目錄后將安裝包拷貝過去
## 并賦予權限 cp logstash-7.13.2-linux-x86_64.tar.gz /openes/
chown -R openes:openes /openes/ ## 切換用戶在另一個用戶中執行 su - openes <<!
cd /openes/
tar xf logstash-7.13.2-linux-x86_64.tar.gz
mv logstash-7.13.2/ /openes/logstash/ if [ -d "/openes/es_repo/data" ]; then echo "directory \"/openes/es_repo/data\" exists" else mkdir -p /openes/es_repo/data fi if [ -d "/openes/es_repo/logs" ]; then echo "directory \"/openes/es_repo/logs\" exists" else mkdir -p /openes/es_repo/logs fi cat >>/openes/logstash/config/logstash.yml<<EOF
## 修改以下配置
path.data: /openes/logstash_repo/data
path.logs: /openes/logstash_repo/logs
EOF cat >/openes/logstash/config/logstash-data-govern.conf<<EOF ## Sample Logstash configuration for creating a simple
## tcp -> Logstash -> Elasticsearch pipeline. input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 4560
codec => json_lines
}
} output {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "data-govern-%{+YYYY.MM.dd}"
}
} EOF cd /openes/logstash/ || exit chown -R openes:openes /openes/ source /etc/profile
nohup ./bin/logstash -f config/logstash-data-govern.conf > logstash.log 2>&1 & ! "ps -aux|grep logstash" fi } 0-basic-install
1-java-install
2-mysql-install
3-redis-install
4-minio-install
5-nginx-install
6-rocketmq-install
7-rocketmq-console-install
8-Elasticsearch-install
9-Kibana-install
10-Logstash-install

總結

以上是生活随笔為你收集整理的一键部署十个服务脚本--可拆分---java+mysql+redis+nginx+rocketmq..等等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。