マイクロサービス プロジェクトのオフライン Linux デプロイメント

記事内のインストールパッケージのダウンロードアドレス: https://pan.baidu.com/s/1qiZ_APvENKBCFZiVUfA2og、抽出コード: 3g7f
1. システム関連の設定
(1) ファイアウォールを無効にする

	systemctl stop firewalld
	停止并禁用开机启动
	sytemctl disable firewalld

(2) seLinuxを終了する

	vi /etc/selinux/config
	SELINUX=enforcing 改为 SELINUX=disabled
	重启生效

(3) ホスト名の設定

	查看主机名称 hostname
	编辑vi /etc/hostname或hostnamectl set-hostname master
	按【i】键修改,【Esc】键退出修改。【:wq】保存退出,【:q】不保存退出。
	修改并保存
	重启生效

(4) ホストの変更

	vi /etc/hosts
	编辑一下内容,其实就是地址对应,按照各自设计的网络名称进行对应,例如:
	192.168.0.23 master
	执行命令:vi /etc/sysconfig/network
	修改如下:
	NETWORKING=yes
	HOSTNAME=master
	执行命令:service network restart重启网络服务生效。

(5) 設定ファイル yum (後で yum を介して関連する依存関係をインストールしやすくするため)

	拷贝centos系统镜像至主节点
	镜像授权:chmod -R 777 CentOS-7-x86_64-DVD-1810.iso
	备份原yum配置:mv /etc/yum.repos.d/ /etc/yum.repos.d.back
	根目录新建iso目录 : mkdir /iso
	挂载镜像至iso文件:mount -o loop CentOS-7-x86_64-DVD-1810.iso /iso/
	新建文件目录 mkdir /etc/yum.repos.d 
	进入yum源配置目录:cd /etc/yum.repos.d
	新建centos.repo文件并编辑
	[localrepo]
	name=centos
	baseurl=file:///iso
	gpgcheck=false
	enabled=true
	保存并退出

ここに画像の説明を挿入します

	执行:yum clean all  和 yum makecache
	检查是否安装成功 yum repolist

ここに画像の説明を挿入します
(6) gcc 関連の依存関係をインストールします (サーバーに依存関係がない場合は、インストールする必要があります)

	Linux离线安装软件需要的所有依赖包,所有的都有:gcc、lib、zlib、openssl、cpp、tcl等等。
	运行命令,放到Linux上解压,然后执行:【rpm -ivh *.rpm --nodeps --force】这样就全部安装了。

	备注:最好是一个一个单独安装

2.JDKのインストール

(1) システム付属のjdkを削除します。

	1.删除liunx自带openJdk
	1.使用Xshell连接liunx系统
	2.在命令界面输入如下命令
	rpm -qa | grep jdk
	3.若查询不到数据,则直接跳到安装JDK,如果存在以下数据则按照步骤进行,只要是存在openjdk的都需要删除,可能不同liunx系统安装的openjdk版本不一;
	java-1.8.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
	java-1.8.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
	4.删除openJDK xxxxxx.x只代表版本号,实际按照查询出来的版本输入
	rpm -e --nodeps java-1.8.0-openjdk-xxxxxx.x86_64
	rpm -e --nodeps java-1.8.0-openjdk-xxxxx.x86_64

(2) jdkのインストール

	1)在/usr/local/下创建java地址用于存放JDK;
	2)将JDK通过XFTP上传到创建的java文件夹下
	3)解压
	解压命令如下:
	tar -zxvf java.xxxxxx.tar.gz
	
	3.配置系统变量
	1)通过vim打开profile文件
	vi /etc/profile
	2)添加如下配置
	在profile最后一行添加如下配置,/usr/local/java/jdk1.8.0_13 这就是JDK配置的地址
	
	export JAVA_HOME=/usr/local/java/jdk1.8.0_261 
	export JRE_HOME=${JAVA_HOME}/jre
	export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
	export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
	export PATH=$PATH:${JAVA_PATH}
	3)保存退出
	按键盘的ESC按钮,并且输入:wq命令,保存退出
	
	4.重新加载配置文件
	source 可以不用重启让profile生效
	输入:source /etc/profile
	
	5.测试
	[root@localhost ~]# java -version
	java version "1.8.0_261"
	Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
	Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

3. Redis の導入計画

	安装EPEL源命令如下
	
	rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
	yum update  --更新yum源,可不写
	
	
	1、安装jemalloc(不推荐yum安装)
	
	yum install jemalloc -y   --必须安装jemalloc,如果失败,就wget下来在用rpm方式安装
	-- rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm   --可以不用装
	-- yum install kobo-rpmlib -y    --可以不用装
	
	rpm安装jemalloc(推荐rpm安装)
	进入rpm的目录
	rpm -ivh jemalloc-3.6.0-1.el6.x86_64.rpm
	
	2、下载并安装redis3.0.4(选择)
	进入redis rpm目录
	rpm -ivh redis-3.0.4-1.el6.remi.x86_64.rpm  
	 
	3、修改配置文件
	mkdir /data/redis  --创建目录
	vim /etc/redis.conf 
	修改数据库存放路经
	
	dir /var/lib/redis/   --修改前
	dir /data/redis/     --修改后
	
	修改日志存放路经
	
	logfile /var/log/redis/redis.log   --修改前
	logfile /data/redis/redis.log      --修改后
	
	修改绑定的IP地址
	
	bind 127.0.0.1           --修改前
	bind 192.168.7.209       --修改后
	bind 127.0.0.1 192.168.7.209  --绑定多个IP,注意是空格不是逗号,2.8以后的版本才支持(内网地址,外网地址)
	
	修改绑定的port号
	
	port 6379    --修改前
	port ****   --修改后
	
	设置密码,去掉行前的注释,并修改密码为所需的密码,保存文件.
	
	requirepass 密码
	
	设置后台运行redis
	
	daemonize no   --修改前
	daemonize yes  --修改后
	
	4、修改/data/redis目录权限
	
	mkdir /data/redis
	chown -R redis:redis /data/redis
	chmod -R 744 /data/redis
	
	5、启动Redis服务
	
	chkconfig redis on
	service redis start   --启动redis服务
	redis-server --version  --查看redis版本号
	
	6、本地测试Redis
	
	复制代码
	redis-cli      --连接redis
	
	redis-cli -h 127.0.0.1 -p 6379 -a 指定密码
	
	set name 存储的值   --设置key,value
	
	get name     --读取key
	
	exit       --退出redis
	
	删除满足redis查询结果的所有key
	
	redis-cli -a 密码 keys "*.html" | xargs redis-cli -a 密码 del
	7.设置redis自启动
	systemctl enable redis-server.service
	systemctl list-unit-files |grep redis查看 centos7的开机启动项目

4. Nacos展開計画

	1.解压安装
	在项目上级路径创建一个nacos文件夹后,通过tar方式解压到nacos文件夹中;
	tar -zxvf nacos.1.3.2.tar.gz
	
	2.启动
	进入创建的nacos/bin文件夹下;使用是sh startup.sh启动;
	nohup sh startup.sh -m standalone
	单机后台运行;
	
	3.测试
	根据配置的ip地址进行访问,账号nacos 密码nacos能访问则可以安装成功;
	例如Linux的IP为192.168.0.143,则在另外的电脑登录192.168.0.143:8848/nacos
	
	如果没有关闭防火墙,则无法登录
	4.设置开机自启动
	    开机自启动
	
	vim /lib/systemd/system/nacos.service
	
	 添加如下:
	
	    [Unit]
	    Description=nacos
	    After=network.target
	     
	    [Service]
	    Type=forking
	    ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
	    ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
	    ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
	    PrivateTmp=true
	     
	    [Install]  
	    WantedBy=multi-user.target
	
	保存退出后,执行以下命令
	
	    systemctl daemon-reload
	    systemctl enable nacos.service
		systemctl start nacos.service
		systemctl status nacos.service
备注:设置好开机自启动后,启动可能会报错,这是因为没找到jdk
	解决办法如下图:将startup.sh中的JAVA_HOME修改为jdk的安装路径,并将下面的三行注释

ここに画像の説明を挿入します
ここに画像の説明を挿入します

5.mysql展開計画

	1、下载官方安装包
	
	      mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
	
	官方链接 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
	
	2、在/usr/local目录下创建mysql文件夹
	
	      mkdir mysql
	
	3、上传mysql安装包,这里可以采用FTP进行上传。上传位置为/usr/local/mysql
	
	4、解压安装包
	
	tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
	
	5、卸载自带的maraidb-lib-版本号
	
	    rpm -qa|grep mariadb
	    mariadb-libs-版本号
	    rpm -e --nodeps mariadb-libs-版本号
	     
	    rpm -qa|grep mariadb
	
	若卸载不了可使用 yum remove 包名 -y 命令
	
	6、安装mysql-community-common-5.7.26-1.el7.x86_64.rpm
	
	rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
	
	7、安装mysql-community-libs-5.7.26-1.el7.x86_64.rpm
	
	rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
	
	8、安装mysql-community-client-5.7.26-1.el7.x86_64.rpm
	
	rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
	
	9、安装libaio
	
	    yum install libaio
	     
	    执行后按照提示输入 y
	
	10、安装mysql-community-server-5.7.26-1.el7.x86_64.rpm
	
	rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
	
	11、初始化数据库
	
	mysqld --initialize --user=mysql
	
	12、启动mysql
	
	    systemctl start mysqld.service
	    set password=password('123456');
	
	13、登录mysql
	
	mysql -uroot -p
	
	14、创建用户并赋权
	
	grant all on *.* to 'testa'@'%' identified by '123456'; 
	
	15、刷新权限
	
	 flush privileges; 
	
	跳过密码
	
	vim /etc/my.cnf   mysqld下面添加一行代码:skip-grant-tables
	
	service mysqld restart 
	mysql -uroot -p 直接回车
	use mysql;
	show tables;
	desc user;
	update user set password=password('123456') where user='root';  或者使用下面的
	update user set authentication_string=password('123456') where  user='root';
	flush privileges;
	exit;
	
	去掉vim /etc/my.cnf   mysqld下面代码:skip-grant-tables
	
	16.设置开机自启动
	通过systemctl enable mysql来设置 mysql开机启动自动
	systemctl list-unit-files |grep mysql查看 centos7的开机启动项目

ここに画像の説明を挿入します
6. Nginx導入計画

	1.进入nginx rpm安装包路径
	rpm -ivh nginx-1.18.0-1.el7.ngx.x86_64.rpm
	2.修改配置文件nginx.conf
	rpm 安装方式nginx 默认安装位置在 /etc/nginx/ 目录下
	3.nginx 启动关闭
		启动:systemctl start nginx.service
		关闭:systemctl stop nginx.service
		查看状态:systemctl status nginx.service
	
	4.设置nginx自启动
	  #查看nginx 是否 开机自启
	  systemctl list-unit-files | grep nginx
	   
	  #设置nginx 开机自启
	  systemctl enable  nginx.service
	systemctl list-unit-files |grep nginx查看 centos7的开机启动项目

7. プロジェクトの展開が開始されます

(一)前端部署
将dist文件夹中的东西全部拷贝到nginx/html文件夹中
(二)后端部署
1.创建 /home/java目录
2.将jar放到Java目录下
3.创建一键启动jar脚本
在java文件夹中创建startupAll.doc文件
文件内容:
#!/bin/sh
export EUREKA=eurekaserver.jar
export CONFIG=configserver.jar
export GATEWAY=zuulgatewayserver.jar
export AUTH=authorizeserver.jar
export LOG=logstatisticsserver.jar
export APPMGR=appmgrserver.jar
export ORGANIZEUSER=organizeuserserver.jar
export JTMOP=jtmopserver.jar

export EUREKA_log=../logs/eurekaserver.log
export CONFIG_log=../logs/configserver.log
export GATEWAY_log=../logs/zuulgatewayserver.log
export AUTH_log=../logs/authorizeserver.log
export LOG_log=../logs/logstatisticsserver.log
export APPMGR_log=../logs/appmgrserver.log
export ORGANIZEUSER_log=../logs/organizeuserserver.log
export JTMOP_log=../logs/jtmopserver.log

export EUREKA_port=10080
export CONFIG_port=10085
export GATEWAY_port=10084
export AUTH_port=10088
export LOG_port=10093
export APPMGR_port=10092
export ORGANIZEUSER_port=10087
export JTMOP_port=10091
case "$1" in

start)
        ## 启动eureka
        echo "--------eureka 开始启动--------------"
        nohup java -jar $EUREKA > $EUREKA_log 2>&1 &
        EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$EUREKA_pid" ]
            do
              EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "EUREKA pid is $EUREKA_pid"
        sleep 10
        echo "--------eureka 启动成功--------------"
 
        ## 启动config
        echo "--------开始启动CONFIG---------------"
        nohup java -jar $CONFIG > $CONFIG_log 2>&1 &
        CONFIG_pid=`lsof -i:$CONFIG_port|grep "LISTEN"|awk '{print $2}'` 
        until [ -n "$CONFIG_pid" ]
            do
              CONFIG_pid=`lsof -i:$CONFIG_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "CONFIG pid is $CONFIG_pid"
        sleep 30
        echo "---------CONFIG 启动成功-----------"
 
        ## 启动gateway
        echo "--------开始启动GATEWAY---------------"
        nohup java -jar $GATEWAY > $GATEWAY_log 2>&1 &
        GATEWAY_pid=`lsof -i:$GATEWAY_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$GATEWAY_pid" ]
            do
              GATEWAY_pid=`lsof -i:$GATEWAY_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "GATEWAY pid is $GATEWAY_pid"    
        echo "---------GATEWAY 启动成功-----------"
 
        ## 启动auth
        echo "--------开始启动AUTH---------------"
        nohup java -jar $AUTH > $AUTH_log 2>&1 &
        AUTH_pid=`lsof -i:$AUTH_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$AUTH_pid" ]
            do
              AUTH_pid=`lsof -i:$AUTH_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "AUTH pid is $AUTH_pid"     
        echo "---------AUTH 启动成功-----------"
                 
        ## 启动log
        echo "--------开始启动LOG---------------"
        nohup java -jar $LOG > $LOG_log 2>&1 &
        LOG_pid=`lsof -i:$LOG_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$LOG_pid" ]
            do
              LOG_pid=`lsof -i:$LOG_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "LOG pid is $LOG_pid"     
        echo "---------LOG 启动成功-----------"
        
        ## 启动appmgr
        echo "--------开始启动APPMGR---------------"
        nohup java -jar $APPMGR > $APPMGR_log 2>&1 &
        APPMGR_pid=`lsof -i:$APPMGR_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$APPMGR_pid" ]
            do
              APPMGR_pid=`lsof -i:$APPMGR_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "APPMGR pid is $APPMGR_pid"     
        echo "---------APPMGR 启动成功-----------"
        
        ## 启动organizeuser
        echo "--------开始启动ORGANIZEUSER---------------"
        nohup java -jar $ORGANIZEUSER > $ORGANIZEUSER_log 2>&1 &
        ORGANIZEUSER_pid=`lsof -i:$ORGANIZEUSER_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$ORGANIZEUSER_pid" ]
            do
              ORGANIZEUSER_pid=`lsof -i:$ORGANIZEUSER_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "ORGANIZEUSER pid is $ORGANIZEUSER_pid"     
        echo "---------ORGANIZEUSER 启动成功-----------"
        
        ## 启动jtmop
        echo "--------开始启动JTMOP---------------"
        nohup java -jar $JTMOP > $JTMOP_log 2>&1 &
        JTMOP_pid=`lsof -i:$JTMOP_port|grep "LISTEN"|awk '{print $2}'`
        until [ -n "$JTMOP_pid" ]
            do
              JTMOP_pid=`lsof -i:$JTMOP_port|grep "LISTEN"|awk '{print $2}'`  
            done
        echo "JTMOP pid is $JTMOP_pid"     
        echo "---------JTMOP 启动成功-----------"
        
        echo "===startAll success==="
        ;;

 stop)
        P_ID=`ps -ef | grep -w $EUREKA | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===EUREKA process not exists or stop success"
        else
            kill -9 $P_ID
            echo "EUREKA killed success"
        fi
        
        P_ID=`ps -ef | grep -w $CONFIG | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===CONFIG process not exists or stop success"
        else
            kill -9 $P_ID
            echo "CONFIG killed success"
        fi
        
         P_ID=`ps -ef | grep -w $GATEWAY | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===GATEWAY process not exists or stop success"
        else
            kill -9 $P_ID
            echo "GATEWAY killed success"
        fi
        
         P_ID=`ps -ef | grep -w $AUTH | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===AUTH process not exists or stop success"
        else
            kill -9 $P_ID
            echo "AUTH killed success"
        fi
        
         P_ID=`ps -ef | grep -w $LOG | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===LOG process not exists or stop success"
        else
            kill -9 $P_ID
            echo "LOG killed success"
        fi
        
         P_ID=`ps -ef | grep -w $APPMGR | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===APPMGR process not exists or stop success"
        else
            kill -9 $P_ID
            echo "APPMGR killed success"
        fi
        
         P_ID=`ps -ef | grep -w $ORGANIZEUSER | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===ORGANIZEUSER process not exists or stop success"
        else
            kill -9 $P_ID
            echo "ORGANIZEUSER killed success"
        fi
        
         P_ID=`ps -ef | grep -w $JTMOP | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "===JTMOP process not exists or stop success"
        else
            kill -9 $P_ID
            echo "JTMOP killed success"
        fi
 
        echo "===stop success==="
        ;;   
 
restart)
        $0 stop
        sleep 10
        $0 start
        echo "===restart success==="
        ;;   
esac    
exit 0
5.赋予脚本可执行权限
	chmod +x startupAll.sh
6.执行批量启动的shell脚本命令:
	./startupAll.sh start
7. 执行批量停止的shell脚本命令:
	./startupAll.sh stop
8.执行批量重启的shell脚本命令:
	./startupAll.sh restart  
9.设置开机自启动
打开/etc/rc.d/rc.local文件,在末尾增加如下内容
/home/java/centnet-service.sh start
赋予/etc/rc.d/rc.local的执行权限
 chmod +x /etc/rc.d/rc.local
 备注:要在执行的sh文件中设置好Java环境变量

おすすめ

転載: blog.csdn.net/u012893747/article/details/121389063