文章中安装包下载地址:https://pan.baidu.com/s/1qiZ_APvENKBCFZiVUfA2og ,提取码:3g7f
一、系统相关配置
(一)禁用防火墙
systemctl stop firewalld
停止并禁用开机启动
sytemctl disable firewalld
(二)关闭seLinux
vi /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled
重启生效
(三)设置hostname
查看主机名称 hostname
编辑vi /etc/hostname或hostnamectl set-hostname master
按【i】键修改,【Esc】键退出修改。【:wq】保存退出,【:q】不保存退出。
修改并保存
重启生效
(四)修改hosts
vi /etc/hosts
编辑一下内容,其实就是地址对应,按照各自设计的网络名称进行对应,例如:
192.168.0.23 master
执行命令:vi /etc/sysconfig/network
修改如下:
NETWORKING=yes
HOSTNAME=master
执行命令:service network restart重启网络服务生效。
(五)配置文件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
(六)安装gcc相关依赖(如果服务器没有则需要安装)
Linux离线安装软件需要的所有依赖包,所有的都有:gcc、lib、zlib、openssl、cpp、tcl等等。
运行命令,放到Linux上解压,然后执行:【rpm -ivh *.rpm --nodeps --force】这样就全部安装了。
备注:最好是一个一个单独安装
二、安装JDK
(一)删除系统自带的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
(二)安装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)
三、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的开机启动项目
四、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的安装路径,并将下面的三行注释
五、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的开机启动项目
六、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的开机启动项目
七、项目部署启动
(一)前端部署
将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环境变量