文章为本人在学习的过程中,记录部署过程,仅供参考学习。因本人经验不足,教程或有不妥之处,还望指正。
保姆级教程,敬请食用!!!
在学习过程中,部署时使用的项目是一个个人学习项目。若您喜欢,也可点击 Gitee 源码查看。
项目简介:
项目需要的环境及工具清单:
CentOS 7及以上linux默认使用该防火墙
1、查看firewall服务状态
systemctl status firewalld
出现**Active: active (running)**切高亮显示则表示是启动状态。
出现**Active: inactive (dead)**灰色表示停止,看单词也行。
2、查看firewall的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=6379/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
查看多个服务状态
systemctl status nacos mysql redis
重新加载所有service服务
systemctl daemon-reload
开机启动nacos.service
systemctl enable redis.service
查看该service是否开机启用
systemctl is-enabled redis.service
启动该服务
systemctl start redis.service
查看状态
systemctl status redis.service
全选,全部复制,全部删除快捷键
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
解析:
gg:是让光标移到首行,在vim才有效,vi中无效
v : 是进入Visual(可视)模式
G :光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
在安装环境的过程中,遇见过几次存储不够用的情况,收集资料,总结扩展存储的方法。
关机状态下,设置硬盘大小
这样之后,实际并不会扩展好,还需要一些配置
置后进系统查看空间大小变化,实际并没有什么变化
df -h
lsblk
执行命令对新加的磁盘进行分区操作:
fdisk /dev/sda
sda3 的Id 是83 我们要将它改成8e跟sda2是一样的 将system 类型改成Linux LVM
fdisk -l
fdisk /dev/sda
再查看一下:
fdisk -l
重启虚拟机格式化新建分区
reboot
然后将新添加的分区添加到已有的组实现扩容
查看卷组名:
vgdisplay
初始化刚刚的分区
pvcreate /dev/sda3
将初始化过的分区加入到虚拟卷组名
# vgextend 虚拟卷组名 新增的分区
vgextend centos /dev/sda3
在这里可能因为根目录没有空间了导致加入失败。
再次查看卷组情况
vgdisplay
可以看到,有大约27.8G的空间是空闲的。查看当前磁盘情况并记下需要扩展的文件系统名,这里要扩展根目录/dev/mapper/centos-root
df -h
扩容已有的卷组容量(这里有个细节,就是不能全扩展满,比如空闲空间是27.8G,然后这里的话27.8G不能全扩展上,这里我扩展的是26G)
# lvextend -L +需要扩展的容量 需要扩展的文件系统名
lvextend -L +26G /dev/mapper/centos-root
可以看到,卷组已经扩容了
需要将文件系统扩容
查看文件系统的格式:
cat /etc/fstab | grep centos-root
文件系统是xfs,所以需要xfs的命令来扩展磁盘空间
# xfs_growfs 文件系统名
xfs_growfs /dev/mapper/centos-root
查看,扩容成功
df -h
下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
下载版本:VMware Workstation Pro 16
下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/
下载版本:CentOS-7-x86_64-DVD-2009.iso
使用阿里云的镜像库:
补充:
网易镜像库:https://mirrors.163.com/centos/7.9.2009/isos/x86_64/
搜狐镜像库:http://mirrors.sohu.com/centos/7.9.2009/isos/x86_64/
清华大学镜像库:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/
重庆大学镜像库:https://mirrors.cqu.edu.cn/centos/7.9.2009/isos/x86_64/
创建新的虚拟机
自定义,下一步。
典型安装:VMware会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。
自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除。避免资源的浪费。
这里我选择自定义安装。
下一步
稍后安装操作系统,下一步
选择操作系统、版本。这里选择之后安装的操作系统,正确的选择会让vm tools更好的兼容。这里选择linux下的CentOS
选择地址,不建议C盘,路径不建议中文、空格、特殊字符。虚拟机名称就是一个名字,在虚拟机多的时候方便自己找到,按自己喜好命名。
处理器按需选择。处理器分配要根据自己的实际需求来分配。在使用过程中CPU不够的话是可以再增加的。
内存按需选择。内存也是要根据实际的需求分配。我的宿主机内存是16G所以我给虚拟机分配2G内存。
使用NAT网络连接。
网络连接类型一共有桥接、NAT、仅主机和不联网四种:
桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。
NAT:NAT模式就是虚拟机要联网得先通过宿主机才能和外面进行通信。
仅主机:虚拟机与宿主机直接连起来
桥接与NAT模式访问互联网过程,如下图所示:
默认,下一步
默认,下一步
默认,下一步
选择内存。磁盘容量暂时分配20G即可后期可以随时增加,不要勾选立即分配所有磁盘,否则虚拟机会将20G直接分配给CentOS,会导致宿主机所剩硬盘容量减少。勾选将虚拟磁盘拆分成多个文件,这样可以使虚拟机方便用储存设备拷贝复制。
默认,下一步
选择自定义硬件,主要设置CentOS的镜像
选择声卡、打印机等不需要的硬件然后移除,按需选择即可。
先选择CD/DVD,再选择使用ISO映像文件,最后选择浏览找到下载好的镜像文件。启动时连接一定要勾选上后确定。然后关闭。
点击完成
开启虚拟机
安装操作系统
开启虚拟机后会出现以下界面:
选择第一项,安装直接CentOS 7,回车,进入下面的界面
选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。点击Continue
首先设置时间
时区选择上海,查看时间是否正确。然后点击Done
选择需要安装的软件
选择 Server with Gui,然后点击Done
选择安装位置,在这里可以进行磁盘划分。
选择i wil configure partitioning(我将会配置分区),然后点击done
如下图所示,点击加号,选择/boot,给boot分区分200M。最后点击Add
然后以同样的办法给其他三个区分配好空间后点击Done
然后会弹出摘要信息,点击AcceptChanges(接受更改)
设置主机名与网卡信息
首先要打开网卡,然后查看是否能获取到IP地址,再根据需要更改主机名后点击Done。
最后选择Begin Installation(开始安装)
设置root密码
设置root密码后点击Done
点击USER CREATION 创建管理员用户
输入用户名密码后点击Done
等待系统安装完毕重启系统即可
在上面,我们成功的将CentOS镜像安装到了我们的虚拟机上,可是这个时候,虚拟机还没有配置IP信息,为了后面开发
方便,我们需要设置一个静态IP。
编辑-》虚拟网络编辑器
前边配置的NAT模式,所以选中这个
点击【更改设置】,会重新进入
配置网络段(子网ip段)为192.168.184.0,点击【NAT设置】,配置【网关ip】,注意【网关ip】需要在【子网ip】段下,这里设置为【192.168.184.2】
打开命令行,输入vim /etc/sysconfig/network-scripts/ifcfg-ens33
,并修改配置文件内容
信息说明:
重启网络服务
service network restart
检测是否配置成功
ifconfig
Ping外网:
ping www.baidu.com
Ping本机:
ping 192.168.184.128
Ping宿主机:
ping 192.168.65.75
MobaXterm是一款远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具,便携版操作简单,使用非常方便。
下载地址:https://mobaxterm.mobatek.net/download-home-edition.html
建立连接之后,就可以很方便连接虚拟机主机。后续的所有操作,均使用MobaXterm。
下载地址:https://download.redis.io/releases/
下载版本:redis-6.0.0.tar.gz
Redis是c开发的,因此安装redis需要c语言的编译环境,查看是否安装gcc
gcc -v
如果没有gcc,则需要在线安装.命令如下
yum install gcc-c++
上传安装包
解压redis压缩包,解压命令如下
tar -zxvf redis-6.0.0.tar.gz
进入redis目录后,ls打开目录下文件,查看是否存在Makefile,存在则直接make编译redis源码
make
如果make失败:
一般是因为gcc
版本过低,因此需要升级gcc
,升级过程如下:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
gcc -v
安装编译后的redis代码到指定目录,一般存放于/usr/local下的redis目录,指令如下
make install PREFIX=/usr/local/redis
查看redis目录下的bin目录里面的文件,如下
至此,可以启动redis了,默认启动模式为前端启动,指令如下
./redis-server
到这里,基本的安装就完成了,但可以添加一些更好的设置,如下:
前端启动的话,如果客户端关闭,redis服务也会停掉,所以需要改成后台启动redis。
具体做法分为两步:
第一步:将redis解压文件里面的redis.conf文件复制到当前目录,指令如下
cp redis-6.0.0/redis.conf ./bin
第二步:修改redis.conf文件,将daemonize no -> daemonize yes,这样便将启动方式修改为后台启动了
vim redis.conf
小提示:保存修改并退出,按键如下(四步操作):
Esc -> : -> wq -> Enter(回车)
启动redis -> 后台启动
./redis-server redis.conf
查看redis是否在运行,指令如下
ps aux|grep redis
打开redis连接
./redis-cli
小提示:将连接到其他主机、端口,指令如下
./redis-cli -h 192.168.184.128 -p 6379
Windows本地连接虚拟机中的Linux系统中的Redis,进入到Windows本地Redis根目录
可以正常连接:
如果不可以连接的话:
在win本地访问到搭建的redis,可以把6379端口暴露出来:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
然后重启一下防火墙:
systemctl restart firewalld
Tips:
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld
如果这种方法不可以的话修改如下配置:
编辑redis.service文件, 增加如下信息 (nacos路径替换成自己的路径即可)
vi /etc/systemd/system/redis.service
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存后执行以下命令:
#重新加载所有service服务
systemctl daemon-reload
#开机启动nacos.service
systemctl enable redis.service
#查看该service是否开机启用
systemctl is-enabled redis.service
#启动该服务
systemctl start redis.service
#查看状态
systemctl status redis.service
下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
下载版本:jdk-8u201-linux-x64.tar.gz
先检查环境是否有自带的JDK
rpm -qa | grep jdk
如果有自带环境,先进行卸载。执行命令进行卸载,后缀".noarch"不用理会
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
删完之后可以再通过rpm -qa | grep Java
命令来查询出是否删除掉
接下来就是要安装自己的jdk了,进入/usr/local/src
上传刚下载的jdk-8u201-linux-x64.tar.gz
解压jdk-8u201-linux-x64.tar.gz
通过命令 cd /usr/local/
进入目录创建java文件夹
进入Java文件夹,移动刚才解压的jdk1.8.0_201
接下来开始配置环境变变量,通过 vi /etc/profile
命令打开 profile 文件盘配置环境变量,打开之后按 i
进入 insert
(插入)模式,在文件末尾添加上环境变量
# JDK环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
保存完之后输入,使用命令使刚才配置的环境变量生效
source /etc/profile
测试jdk是否安装成功
下载地址:https://downloads.mysql.com/archives/community/
下载版本:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
上传本地tar压缩包到服务器
卸载系统⾃带的MARIADB(如果有)。如果系统之前⾃带 Mariadb ,可以先卸载之。
首先查询已安装的 Mariadb 安装包:
rpm -qa|grep mariadb
卸载掉:
yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
解压MYSQL安装包
进入/usr/local/src
目录,解压:
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local
进入/usr/local
,解压后的文件移动到mysql:
创建MYSQL用户和用户组
groupadd mysql
useradd -g mysql mysql
同时新建 /usr/local/mysql/data 目录,后续备用
修改MYSQL目录的归属⽤户,在mysql目录执行
chown -R mysql:mysql ./
准备MYSQL的配置文件
在 /etc
目录下新建 my.cnf
文件。写入如下简化配置:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
同时使⽤如下命令创建 /var/lib/mysql
⽬录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
正式开始安装MYSQL。执⾏如下命令正式开始安装:
进入/usr/local/mysql
:
cd /usr/local/mysql
然后:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:记住上⾯打印出来的 root 的密码,后面首次登录需要使用:
2022-08-04T04:27:22.421873Z 1 [Note] A temporary password is generated for root@localhost: cpQ;/Pwss1<L
复制启动脚本到资源目录
cp ./support-files/mysql.server /etc/init.d/mysqld
并修改 /etc/init.d/mysqld
,修改其 basedir
和 datadir
为实际对应目录:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置MYSQL系统服务并开启自启
首先增加 mysqld 服务控制脚本执行权限:
chmod +x /etc/init.d/mysqld
同时将 mysqld 服务加入到系统服务:
chkconfig --add mysqld
最后检查 mysqld 服务是否已经生效即可:
chkconfig --list mysqld
这样就表明 mysqld 服务已经生效了,在2、3、4、5运行级别随系统启动而⾃动启动,以后可以直接使用 service 命令控制 mysql 的启停。
启动MYSQLD
service mysqld start
将 MYSQL 的 BIN 目录加入 PATH 环境变量,这样方便以后在任意目录上都可以使用 mysql 提供的命令。
编辑 ~/.bash_profile
文件,在文件末尾处追加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
最后执行如下命令使环境变量生效:
source ~/.bash_profile
首次登录MYSQL,以 root 账户登录 mysql ,使用安装完成提示的密码进行登录
mysql -u root -p
接下来修改ROOT账户密码,在mysql的命令行执行如下命令即可,密码可以换成你想用的密码即可:
mysql>alter user user() identified by "123456";
mysql>flush privileges;
设置远程主机登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
如果远程连不上的话,可能是防火墙的问题,端口没有在防火墙开放:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=3306/tcp
下载地址:https://github.com/alibaba/nacos/releases
下载版本:nacos-server-2.0.3.tar.gz
Github下载速度很慢,附上百度网盘资源:
链接:https://pan.baidu.com/s/1FIuq9_RRHFk1wKdOPSkvZw
提取码:ds65
解压并移动
tar -zxvf nacos-server-2.0.3.tar.gz
mv nacos /usr/local
修改 startup.sh:更改java 的安装目录和 export MODE=“standalone”
进入/usr/local/nacos/bin
配置nacos的数据库连接信息
vi /usr/local/nacos/conf/application.properties
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/center-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
执行SQL脚本,注意数据库名称
由于本人学习过程中,将sql脚本集成到了一个Spring Boot 项目中了,故这里可以直接运行Jar包,jar包哪里来,后面会介绍:
java -jar center-data-nacos-config.jar
进入 bin 目录,启动程序:
./startup.sh
暴露端口
firewall-cmd --permanent --zone=public --add-port=8848/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8848/tcp
访问地址:http://192.168.184.128:8848/nacos/index.html
用户名/密码:nacos/nacos
进入/lib/systemd/system
目录,创建nacos.service
文件
cd /lib/systemd/system
touch nacos.service
编辑nacos.service文件, 增加如下信息 (nacos路径替换成自己的路径即可)
vim /lib/systemd/system/nacos.service
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存后执行以下命令
#重新加载所有service服务
systemctl daemon-reload
#开机启动nacos.service
systemctl enable nacos.service
#查看该service是否开机启用
systemctl is-enabled nacos.service
#启动该服务
systemctl start nacos.service
查看该服务状态:
systemctl status nacos.service
下载地址:https://registry.npmmirror.com/binary.html?path=node/v14.17.0/
下载版本:node-v14.17.0-linux-x64.tar.xz
上传包至/usr/local/src
在 /usr/local/
下创建 node
文件夹并进入
将 Node 的安装包解压到 /usr/local/node
中即可
tar -xJvf /usr/local/src/node-v14.17.0-linux-x64.tar.xz -C ./
解压完之后, /usr/local/node
⽬录中会出现⼀个 node-v14.17.0-linux-x64
的目录
配置NODE系统环境变量
编辑 ~/.bash_profile
文件,在文件末尾追加如下信息:
vi ~/.bash_profile
# Nodejs
export PATH=/usr/local/node/node-v14.17.0-linux-x64/bin:$PATH
刷新环境变量,使之生效即可:
source ~/.bash_profile
检查安装结果
node -v
npm version
npx -v
均有版本信息输出即可:
下载地址:https://nginx.org/en/download.html
下载版本:nginx-1.18.0.tar.gz
创建文件夹并进入
mkdir /usr/local/nginx
解压
tar -zxvf /usr/local/src/nginx-1.18.0.tar.gz -C ./
预先安装额外的依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel
编译安装NGINX
cd nginx-1.18.0
./configure
make && make install
安装完成后,Nginx的可执行文件位置位于/usr/local/nginx/sbin/nginx
直接执行如下命令即可:
/usr/local/nginx/sbin/nginx
如果想停止Nginx服务,可执行:
/usr/local/nginx/sbin/nginx -s stop
如果修改了配置文件后想重新加载Nginx,可执行:
/usr/local/nginx/sbin/nginx -s reload
注意其配置文件位于:
/usr/local/nginx/conf/nginx.conf
防火墙暴露80端口
#设置80端口开放
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd --reload
#验证80端口是否开放成功
firewall-cmd --zone=public --query-port=80/tcp
浏览器验证启动情况
创建开机自启脚本
vi /etc/systemd/system/nginx.service
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存后执行以下命令:
#重新加载所有service服务
systemctl daemon-reload
#开机启动nacos.service
systemctl enable nginx.service
#查看该service是否开机启用
systemctl is-enabled nginx.service
#启动该服务
systemctl start nginx.service
#查看状态
systemctl status nginx.service
在这里使用的是一个个人学习项目。
项目简介
Center Platform 是一套基于RuoYi框架的快速开发平台,毫无保留给个人及企业免费使用。
友情链接 若依/RuoYi-Cloud。
git clone https://gitee.com/haaaaaaaaaaaa/center-platform.git
npm install
npm run dev
center
、center-config
、center-seata
,不需要手动执行SQL脚本,后续步骤可以自动建立系统需要的表和数据。建议启动项目之前不要修改项目中数据库URL,等到项目成功运行之后,再进行个性化修改。 ├── center-data // 种子数据模块
│ └── center-data-common // 基础种子数据模块[9400]
│ └── center-data-nacos-config // Nacos种子数据初始化模块[9500]
│ └── center-data-seata // Seata种子数据初始化模块[9600]
CenterDataNacosConfigApplication
,成功执行之后,自动将Nacos需要的数据初始化到数据库中。成功运行截图如下:center-config
中已经生成了相关表以及插入了相关数据。center-config
,配置自己的数据库连接密码:CenterDataCommonApplication
,成功执行后即自动在数据库center
中建立相关表,以及插入初始化数据。CenterDataSeataApplication
。CenterDataCommonApplication
和CenterDataSeataApplication
没有严格顺序要求。CenterAuthApplication
、CenterFileApplication
、CenterGatewayApplication
、CenterSystemApplication
。远程连接CentOS 7 环境中的数据库,新建:center、center-config、center-seata。只需要新建数据库库即可,不用执行SQL脚本。
创建文件夹:
mkdir -p /usr/local/center/center-data
创建脚本:
vi /usr/local/center/center-data/center-data.sh
#进入jar包目录
cd /usr/local/center/center-data
APP_NAME=`find *.jar`
if [ -n "$2" ]; then
string="$2"
array=(${string//,/ })
APP_NAME=${array[@]}
echo "==================== Selected Service ==================== "
for var in $APP_NAME ;do
echo "$var"
done
echo "========================================================== "
fi
#使用说明,用来提示输入参数
usage() {
echo "Usage: ./center-data.sh [start|stop|restart|status] [app_name]"
exit 1
}
#检查程序是否在运行
is_exist() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -z "${pid}" ]; then
echo "$var is NOT running"
else
echo "$var is running Pid is ${pid}"
fi
done
}
#启动方法
start() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -z "${pid}" ]; then
echo "start run $var"
nohup java -jar $var >/dev/null 2>&1 &
else
echo "$var is already running. pid=${pid} "
fi
done
}
#停止方法
stop() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -n "${pid}" ]; then
kill -9 ${pid}
else
echo "${var} is not running"
fi
done
}
#输出运行状态
status() {
is_exist
}
#重启
restart() {
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
创建目录:
mkdir /usr/local/center/center-platform
创建脚本:
vi /usr/local/center/center-platform/center-platform.sh
Tips:
ps -ef|grep center-auth.jar|grep -v grep|awk '{print $2}'
指令解释:
ps:显示进程
-e:显示所有进程
-f:全格式grep:查找字符串
grep -v -grep:过滤自己执行的grep[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpMCqLO3-1659950505371)(C:\Users\C\AppData\Roaming\Typora\typora-user-images\image-20220808124249348.png)]
awk:提取主要列列的主要工具
#进入常用服务jar包目录
cd /usr/local/center/center-platform
APP_NAME=`find *.jar`
if [ -n "$2" ]; then
string="$2"
array=(${string//,/ })
APP_NAME=${array[@]}
echo "==================== Selected Service ==================== "
for var in $APP_NAME ;do
echo "$var"
done
echo "========================================================== "
fi
#使用说明,用来提示输入参数
usage() {
echo "Usage: ./center-platform.sh [start|stop|restart|status] [app_name]"
exit 1
}
#检查程序是否在运行
is_exist() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -z "${pid}" ]; then
echo "$var is NOT running"
else
echo "$var is running Pid is ${pid}"
fi
done
}
#启动方法
start() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -z "${pid}" ]; then
echo "start run $var"
nohup java -jar $var >/dev/null 2>&1 &
else
echo "$var is already running. pid=${pid} "
fi
done
}
#停止方法
stop() {
for var in $APP_NAME ;do
pid=`ps -ef|grep $var|grep -v grep|awk '{print $2}' `
#检查程序是否在运行
if [ -n "${pid}" ]; then
kill -9 ${pid}
else
echo "${var} is not running"
fi
done
}
#输出运行状态
status() {
is_exist
}
#重启
restart() {
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
分别进入脚本存放目录:
chmod +x center-platform.sh
chmod +x center-data.sh
#启动|重启|关闭 所有
./service.sh start|restart|stop
#启动|重启|关闭 单个
./service.sh start|restart|stop xxx.jar
#启动|重启|关闭 多个
./service.sh start|restart|stop xxx1.jar,xxx2.jar
按照顺序执行如下jar包:一定要第一个执行center-data-nacos-config.jar
,这个是Nacos的配置数据库种子数据。
进入目录:
cd /usr/local/center/center-data
上传jar包:
Tips:
能力有限,脚本差强人意,如果不喜欢的话,不使用也可以。直接使用命令一个一个启动即可:
java -jar xxx.jar
很重要!!!第一个执行这个。
演示一下使用命令启动:
java -jar center-data-nacos-config.jar
成功运行之后便会创建系统更需要的基础表及数据:
本服务是Nacos的配置数据库种子数据初始化服务。后续步骤成功与否皆系于此。
java -jar center-data-common.jar
成功运行之后便会创建系统更需要的基础表及数据:
java -jar center-data-seata.jar
成功运行之后便会创建系统更需要的基础表及数据:
至此,项目需要的数据库以及涉及的表数据均已准备好。
进入目录,上传jar包:
cd /usr/local/center/center-platform
Tips:
能力有限,脚本差强人意,如果不喜欢的话,不使用也可以。直接使用命令一个一个启动即可:
java -jar xxx.jar
演示命令启动:
java -jar center-auth.jar
其他服务是一样的,启动就行。
打包,在vue工程根目录录执行打包命令
npm run build:prod
压缩zip格式后上传
创建目录
mkdir -p /usr/local/webapp/center-ui
进入目录解压:
unzip -d ./ /usr/local/src/dist.zip
打开Nginx配置
vi /usr/local/nginx/conf/nginx.conf
location / {
root /usr/local/webapp/center-ui/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html?s=$uri&$args;
error_page 405 =200 http://$host$request_uri;
}
location /prod-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For &proxy_add_x_forwarded_for;
proxy_pass http://localhost:9000/;
}
重启Nginx
/usr/local/nginx/sbin/nginx -s reload
查看
如果小图标不显示:Ctrl+Shift+R