Linux中部署Spring Cloud项目
文章为本人在学习的过程中,记录部署过程,仅供参考学习。因本人经验不足,教程或有不妥之处,还望指正。
保姆级教程,敬请食用!!!
简介
在学习过程中,部署时使用的项目是一个个人学习项目。若您喜欢,也可点击 Gitee 源码查看。
Center Platform v1.0.0
基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构
项目简介:
- 采用前后端分离的模式,微服务版本前端。
- 后端采用Spring Boot、Spring Cloud & Alibaba。
- 注册中心、配置中心选型Nacos,权限认证使用Redis。
项目需要的环境及工具清单:
- VMware Workstation Pro 16
- CentOS 7
- MobaXterm
- Redis
- JDK 1.8
- MySQL
- Nacos
- Node.js
- nginx
指令传送门
firewall防火墙
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
-
查看多个服务状态
systemctl status nacos mysql redis
![image-20220805120256410](https://img-blog.csdnimg.cn/img_convert/ed29abaa5c3a3593226dac763f9833e6.png)
-
重新加载所有service服务
systemctl daemon-reload
-
开机启动nacos.service
systemctl enable redis.service
-
查看该service是否开机启用
systemctl is-enabled redis.service
-
启动该服务
systemctl start redis.service
-
查看状态
systemctl status redis.service
vim
-
全选,全部复制,全部删除快捷键
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
解析:
gg:是让光标移到首行,在vim才有效,vi中无效
v : 是进入Visual(可视)模式
G :光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
扩展空间
在安装环境的过程中,遇见过几次存储不够用的情况,收集资料,总结扩展存储的方法。
-
关机状态下,设置硬盘大小
![image-20220805151519095](https://img-blog.csdnimg.cn/img_convert/d7c484a76b198ff4a94b29c768521e99.png)
-
这样之后,实际并不会扩展好,还需要一些配置
-
置后进系统查看空间大小变化,实际并没有什么变化
df -h
lsblk
![image-20220805160844840](https://img-blog.csdnimg.cn/img_convert/811efec81399a4d891fdee69e6309d77.png)
-
执行命令对新加的磁盘进行分区操作:
fdisk /dev/sda
![image-20220805161324899](https://img-blog.csdnimg.cn/img_convert/b59a3f615e2eed0d8d4706830d9e076f.png)
-
sda3 的Id 是83 我们要将它改成8e跟sda2是一样的 将system 类型改成Linux LVM
fdisk -l
![image-20220805161541769](https://img-blog.csdnimg.cn/img_convert/ede781ecc1a793b6015ed81c7f88b3e0.png)
fdisk /dev/sda
![image-20220805161838286](https://img-blog.csdnimg.cn/img_convert/5f5c928b3ce057010d82fea446940b94.png)
再查看一下:
fdisk -l
![image-20220805161931107](https://img-blog.csdnimg.cn/img_convert/d400dda6597c4354a52bf4861b84890e.png)
-
重启虚拟机格式化新建分区
reboot
-
然后将新添加的分区添加到已有的组实现扩容
查看卷组名:
vgdisplay
![image-20220805162652499](https://img-blog.csdnimg.cn/img_convert/8a758f56e248102b168917a27a42cb34.png)
-
初始化刚刚的分区
pvcreate /dev/sda3
![image-20220805162810212](https://img-blog.csdnimg.cn/img_convert/aa18c794c167d6e8850f8020220d8e2d.png)
-
将初始化过的分区加入到虚拟卷组名
# vgextend 虚拟卷组名 新增的分区
vgextend centos /dev/sda3
![image-20220805163729165](https://img-blog.csdnimg.cn/img_convert/b593e58d43566fbea2e510725497e814.png)
在这里可能因为根目录没有空间了导致加入失败。
-
再次查看卷组情况
vgdisplay
![image-20220805163858059](https://img-blog.csdnimg.cn/img_convert/886375470bcc0a83b7c767c400626e9c.png)
可以看到,有大约27.8G的空间是空闲的。查看当前磁盘情况并记下需要扩展的文件系统名,这里要扩展根目录/dev/mapper/centos-root
df -h
![image-20220805164114143](https://img-blog.csdnimg.cn/img_convert/f56468ce4069f8fe1203941f068c2735.png)
-
扩容已有的卷组容量(这里有个细节,就是不能全扩展满,比如空闲空间是27.8G,然后这里的话27.8G不能全扩展上,这里我扩展的是26G)
# lvextend -L +需要扩展的容量 需要扩展的文件系统名
lvextend -L +26G /dev/mapper/centos-root
![image-20220805164338482](https://img-blog.csdnimg.cn/img_convert/48527ff4d566b5ddc45d0d334423c474.png)
可以看到,卷组已经扩容了
-
需要将文件系统扩容
查看文件系统的格式:
cat /etc/fstab | grep centos-root
![image-20220805164548405](https://img-blog.csdnimg.cn/img_convert/3723f692c94f58a2057855feb9d8d7a2.png)
-
文件系统是xfs,所以需要xfs的命令来扩展磁盘空间
# xfs_growfs 文件系统名
xfs_growfs /dev/mapper/centos-root
![image-20220805164650074](https://img-blog.csdnimg.cn/img_convert/c665f62b220ae15aecc65386305aca7f.png)
-
查看,扩容成功
df -h
![image-20220805164815344](https://img-blog.csdnimg.cn/img_convert/028faf6f252b7fb6990aa358873b8a59.png)
环境搭建
VMware Workstation Pro 16
下载
下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
下载版本:VMware Workstation Pro 16
![image-20220803111514110](https://img-blog.csdnimg.cn/img_convert/77818d007b70f9b59a3679d675e0f4a8.png)
安装步骤
- 找到下载好的VMware-workstation-full-16.2.4-20089737.exe文件,鼠标右击以管理员身份运行
- 进入安装界面,点击下一步
- 先勾选我接受许可协议中的条款,然后点击下一步
- 选择软件安装路径,默认安装在C盘,点击更改可修改安装路径,注意:安装路径文件夹名称均不要含有中文字符,然后点击下一步
- 用户体验设置取消勾选,点击下一步
- 无脑下一步
- 安装中,时间可能有点长,耐心等待
- 可以选择输入密钥,或者跳过进行试用30天,密钥可以在网上搜索
- 安装完成
![image-20220803113816207](https://img-blog.csdnimg.cn/img_convert/48c72c1c8e1142de608a3d1d8ab8d171.png)
CentOS 7
下载
下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/
下载版本:CentOS-7-x86_64-DVD-2009.iso
使用阿里云的镜像库:
![image-20220803123845580](https://img-blog.csdnimg.cn/img_convert/2fd441ae464f6a72fa804c775cbb0e27.png)
补充:
网易镜像库: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会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。
自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除。避免资源的浪费。
这里我选择自定义安装。
![image-20220803125333972](https://img-blog.csdnimg.cn/img_convert/5bf5786f8afda9849524fccc1e8688fd.png)
-
下一步
![image-20220803125350344](https://img-blog.csdnimg.cn/img_convert/de83266aa407e284570a48ad6f2778fc.png)
-
稍后安装操作系统,下一步
![image-20220803125412619](https://img-blog.csdnimg.cn/img_convert/b1715cb91acbad1973c4de68b9a69275.png)
-
选择操作系统、版本。这里选择之后安装的操作系统,正确的选择会让vm tools更好的兼容。这里选择linux下的CentOS
![image-20220803125430953](https://img-blog.csdnimg.cn/img_convert/6b22ee847fdd4bec7486d78e0b1daec4.png)
-
选择地址,不建议C盘,路径不建议中文、空格、特殊字符。虚拟机名称就是一个名字,在虚拟机多的时候方便自己找到,按自己喜好命名。
![image-20220803131842013](https://img-blog.csdnimg.cn/img_convert/124b4f0e37548f2e3fbae58acefe4a0c.png)
-
处理器按需选择。处理器分配要根据自己的实际需求来分配。在使用过程中CPU不够的话是可以再增加的。
![image-20220803125511307](https://img-blog.csdnimg.cn/img_convert/8bb3cd9af2b49122676a984d91710612.png)
-
内存按需选择。内存也是要根据实际的需求分配。我的宿主机内存是16G所以我给虚拟机分配2G内存。
![image-20220803125530857](https://img-blog.csdnimg.cn/img_convert/94264f37cdcf384467b9f6e4d9a5bc62.png)
-
使用NAT网络连接。
![image-20220803125759524](https://img-blog.csdnimg.cn/img_convert/07c1e46628292e7398a5b4ee6163d741.png)
网络连接类型一共有桥接、NAT、仅主机和不联网四种:
桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。
NAT:NAT模式就是虚拟机要联网得先通过宿主机才能和外面进行通信。
仅主机:虚拟机与宿主机直接连起来
桥接与NAT模式访问互联网过程,如下图所示:
![image-20220803131043882](https://img-blog.csdnimg.cn/img_convert/e95079d528c8caa14505e0adc5800acc.png)
-
默认,下一步
![image-20220803125819554](https://img-blog.csdnimg.cn/img_convert/cdd8a04dac076a6841affe755e2e5bd6.png)
-
默认,下一步
![image-20220803125839843](https://img-blog.csdnimg.cn/img_convert/57ae2a2573a681970c4800222a5178c8.png)
-
默认,下一步
![image-20220803125950041](https://img-blog.csdnimg.cn/img_convert/168be2320e4b6b39df499521478df1c5.png)
-
选择内存。磁盘容量暂时分配20G即可后期可以随时增加,不要勾选立即分配所有磁盘,否则虚拟机会将20G直接分配给CentOS,会导致宿主机所剩硬盘容量减少。勾选将虚拟磁盘拆分成多个文件,这样可以使虚拟机方便用储存设备拷贝复制。
![image-20220803130028695](https://img-blog.csdnimg.cn/img_convert/0627f044b5683e7ac96c3792a490fa5c.png)
-
默认,下一步
![image-20220803130137143](https://img-blog.csdnimg.cn/img_convert/af8339ad0a207ed87be31fd00fd9bdac.png)
-
选择自定义硬件,主要设置CentOS的镜像
![image-20220803130320459](https://img-blog.csdnimg.cn/img_convert/81dfda6c9a36a246705acca191fc87d7.png)
-
选择声卡、打印机等不需要的硬件然后移除,按需选择即可。
![image-20220803131447393](https://img-blog.csdnimg.cn/img_convert/64a971b51b9d97d4471777aa9846a0a4.png)
-
先选择CD/DVD,再选择使用ISO映像文件,最后选择浏览找到下载好的镜像文件。启动时连接一定要勾选上后确定。然后关闭。
![image-20220803131641367](https://img-blog.csdnimg.cn/img_convert/22c8c74be1fe70b7d7adcad5ec661127.png)
-
点击完成
![image-20220803131738983](https://img-blog.csdnimg.cn/img_convert/474a8b3b87de7c8c7c76d101bc351dcd.png)
-
开启虚拟机
![image-20220803132204761](https://img-blog.csdnimg.cn/img_convert/af00a40839f2f425d09e02df7f8d21ae.png)
-
安装操作系统
开启虚拟机后会出现以下界面:
- Install CentOS 7 安装CentOS 7
- Test this media & install CentOS 7 测试安装文件并安装CentOS 7
- Troubleshooting 修复故障
选择第一项,安装直接CentOS 7,回车,进入下面的界面
![image-20220803132402191](https://img-blog.csdnimg.cn/img_convert/cc2e413adbf8680e4f655bdb474c97e9.png)
-
选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。点击Continue
![image-20220803140714600](https://img-blog.csdnimg.cn/img_convert/2279f1de0fe53cee5345b2e923b92edb.png)
-
首先设置时间
![image-20220803140734247](https://img-blog.csdnimg.cn/img_convert/f276ecd2959de2f65f3b60abd26b0acd.png)
时区选择上海,查看时间是否正确。然后点击Done
![image-20220803140800965](https://img-blog.csdnimg.cn/img_convert/a4eb08a61ddee497e9646321a748924a.png)
-
选择需要安装的软件
![image-20220803140818577](https://img-blog.csdnimg.cn/img_convert/3f1aa7405e13657ae71d88a81a493187.png)
选择 Server with Gui,然后点击Done
![image-20220803140842052](https://img-blog.csdnimg.cn/img_convert/5a225f1d19b4eaa59a6e4a23bdab69df.png)
-
选择安装位置,在这里可以进行磁盘划分。
![image-20220803140923369](https://img-blog.csdnimg.cn/img_convert/faa57ba9b18e03d64fc2dba31037f3dc.png)
选择i wil configure partitioning(我将会配置分区),然后点击done
![image-20220803141022712](https://img-blog.csdnimg.cn/img_convert/1ae365cd5ccc225384922d9f0e5f4617.png)
如下图所示,点击加号,选择/boot,给boot分区分200M。最后点击Add
![image-20220803141128938](https://img-blog.csdnimg.cn/img_convert/1732826404f5988138e18ca34ba11ce9.png)
然后以同样的办法给其他三个区分配好空间后点击Done
![image-20220803141147077](https://img-blog.csdnimg.cn/img_convert/776ceeb35b174b3df70f40814b6215ab.png)
然后会弹出摘要信息,点击AcceptChanges(接受更改)
![image-20220803141209876](https://img-blog.csdnimg.cn/img_convert/f2a309a1c4fb4afb4d01ec3e7a51511b.png)
-
设置主机名与网卡信息
![image-20220803141235438](https://img-blog.csdnimg.cn/img_convert/fdf13050730653265ee3d4c7d1ef5b4c.png)
首先要打开网卡,然后查看是否能获取到IP地址,再根据需要更改主机名后点击Done。
![image-20220803141342677](https://img-blog.csdnimg.cn/img_convert/469b390c719c632377f8b1d5840b636a.png)
-
最后选择Begin Installation(开始安装)
![image-20220803141412922](https://img-blog.csdnimg.cn/img_convert/51d0c75b9efd1a9582f954d4b5dc35c3.png)
-
设置root密码
![image-20220803141431459](https://img-blog.csdnimg.cn/img_convert/8c0efec54370275d7a6eec742d2d801a.png)
设置root密码后点击Done
![image-20220803141454778](https://img-blog.csdnimg.cn/img_convert/190eaeb4d85ac6b640ce7d1f30bfa84d.png)
-
点击USER CREATION 创建管理员用户
![image-20220803141518635](https://img-blog.csdnimg.cn/img_convert/634fe69b22efec83220e6265d2a9e921.png)
输入用户名密码后点击Done
![image-20220803141536720](https://img-blog.csdnimg.cn/img_convert/a19421fcf18e6ee264ca2b6aedcdaa2f.png)
-
等待系统安装完毕重启系统即可
![image-20220803141556296](https://img-blog.csdnimg.cn/img_convert/cfb641cb32d953a7f371427977a16f08.png)
配置静态IP
在上面,我们成功的将CentOS镜像安装到了我们的虚拟机上,可是这个时候,虚拟机还没有配置IP信息,为了后面开发
方便,我们需要设置一个静态IP。
-
编辑-》虚拟网络编辑器
![image-20220803143838071](https://img-blog.csdnimg.cn/img_convert/e30b275fc84ee035e1ccf5eec6dcd88a.png)
-
前边配置的NAT模式,所以选中这个
![image-20220803144023930](https://img-blog.csdnimg.cn/img_convert/f60f1f943b4939e606594304aaeb6c64.png)
-
点击【更改设置】,会重新进入
![image-20220803144132798](https://img-blog.csdnimg.cn/img_convert/739aa1c7568cb78be4320314dcf104ef.png)
配置网络段(子网ip段)为192.168.184.0,点击【NAT设置】,配置【网关ip】,注意【网关ip】需要在【子网ip】段下,这里设置为【192.168.184.2】
![image-20220803144731359](https://img-blog.csdnimg.cn/img_convert/b361f1b6a9d82164a738538df61ca657.png)
-
打开命令行,输入vim /etc/sysconfig/network-scripts/ifcfg-ens33
,并修改配置文件内容
![image-20220803151741951](https://img-blog.csdnimg.cn/img_convert/bd1ceb54de4ce4acbb8d5d54534acb12.png)
信息说明:
-
重启网络服务
service network restart
-
检测是否配置成功
ifconfig
![image-20220803145839476](https://img-blog.csdnimg.cn/img_convert/bc0264ee21cc082bc46531acc0e7a430.png)
Ping外网:
ping www.baidu.com
![image-20220803151937022](https://img-blog.csdnimg.cn/img_convert/6373afb1910f063d9c87a406bf6e3807.png)
Ping本机:
ping 192.168.184.128
![image-20220803152348353](https://img-blog.csdnimg.cn/img_convert/72a231dafbfc187e2a8068b9c981a0e9.png)
Ping宿主机:
ping 192.168.65.75
![image-20220803152600671](https://img-blog.csdnimg.cn/img_convert/67343627ec163ac92c84259a12c1895f.png)
MobaXterm
MobaXterm是一款远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具,便携版操作简单,使用非常方便。
下载
下载地址:https://mobaxterm.mobatek.net/download-home-edition.html
![image-20220803152929116](https://img-blog.csdnimg.cn/img_convert/287520c6544d02d703567c514c3d558a.png)
使用方法
-
新建session
![image-20220803153511442](https://img-blog.csdnimg.cn/img_convert/dd748cf44fa30e5343ca826a59a0956f.png)
-
输入用户名、密码即可连接
![image-20220803153626696](https://img-blog.csdnimg.cn/img_convert/fbdb54ac48684218e23be91411305411.png)
建立连接之后,就可以很方便连接虚拟机主机。后续的所有操作,均使用MobaXterm。
Redis
下载
下载地址:https://download.redis.io/releases/
下载版本:redis-6.0.0.tar.gz
![image-20220803163159736](https://img-blog.csdnimg.cn/img_convert/5674aee2e6156282ce4d5aabac10678d.png)
安装步骤
-
Redis是c开发的,因此安装redis需要c语言的编译环境,查看是否安装gcc
gcc -v
如果没有gcc,则需要在线安装.命令如下
yum install gcc-c++
-
上传安装包
![image-20220429224940116](https://img-blog.csdnimg.cn/img_convert/c89098ea5d045a30adbdbccc61054e65.png)
-
解压redis压缩包,解压命令如下
tar -zxvf redis-6.0.0.tar.gz
-
进入redis目录后,ls打开目录下文件,查看是否存在Makefile,存在则直接make编译redis源码
![image-20220429225109019](https://img-blog.csdnimg.cn/img_convert/2a6164c3e0ebb1357f62f3442a688431.png)
make
![image-20220803225029710](https://img-blog.csdnimg.cn/img_convert/3f55968bb9b685b625e033b06dddbbd1.png)
![image-20220429225200992](https://img-blog.csdnimg.cn/img_convert/5fe7c616affc15c015272f4e10ed8233.png)
如果make失败:
![image-20220803224249982](https://img-blog.csdnimg.cn/img_convert/a5252bbe2248cc8bfb58886d9fa54cd7.png)
一般是因为gcc
版本过低,因此需要升级gcc
,升级过程如下:
yum -y install centos-release-scl
![image-20220803224731879](https://img-blog.csdnimg.cn/img_convert/bbc01d1ac7837207b1dc53150109bb54.png)
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
![image-20220803224851302](https://img-blog.csdnimg.cn/img_convert/4cd717b7875f26152b87e6c4aa3cb817.png)
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
gcc -v
![image-20220803224927463](https://img-blog.csdnimg.cn/img_convert/63646ae4c9c0d6d59ef23df873d4d6c6.png)
-
安装编译后的redis代码到指定目录,一般存放于/usr/local下的redis目录,指令如下
make install PREFIX=/usr/local/redis
![image-20220803225412428](https://img-blog.csdnimg.cn/img_convert/e917db42896d5b034da90599a4e5d6b4.png)
-
查看redis目录下的bin目录里面的文件,如下
![image-20220803164925691](https://img-blog.csdnimg.cn/img_convert/b124d512bf127396018e3bbe0688586e.png)
-
至此,可以启动redis了,默认启动模式为前端启动,指令如下
./redis-server
![image-20220803165052105](https://img-blog.csdnimg.cn/img_convert/cd13681056c4f97b72c67c3b7f8b94df.png)
到这里,基本的安装就完成了,但可以添加一些更好的设置,如下:
-
前端启动的话,如果客户端关闭,redis服务也会停掉,所以需要改成后台启动redis。
具体做法分为两步:
-
第一步:将redis解压文件里面的redis.conf文件复制到当前目录,指令如下
cp redis-6.0.0/redis.conf ./bin
![image-20220803225831149](https://img-blog.csdnimg.cn/img_convert/55bf0b5b4d6fbbe7c4bb216436596761.png)
-
第二步:修改redis.conf文件,将daemonize no -> daemonize yes,这样便将启动方式修改为后台启动了
vim redis.conf
![image-20220803165325332](https://img-blog.csdnimg.cn/img_convert/67300f6ba5fcb1d2376bdf4ba7858a7c.png)
小提示:保存修改并退出,按键如下(四步操作):
Esc -> : -> wq -> Enter(回车)
-
启动redis -> 后台启动
./redis-server redis.conf
![image-20220803165715541](https://img-blog.csdnimg.cn/img_convert/a93154579f59712947b1e157cc401da6.png)
-
查看redis是否在运行,指令如下
ps aux|grep redis
-
打开redis连接
./redis-cli
![image-20220803165929801](https://img-blog.csdnimg.cn/img_convert/f47fe50c9cef621942238ebc1a7ab35d.png)
小提示:将连接到其他主机、端口,指令如下
./redis-cli -h 192.168.184.128 -p 6379
-
Windows本地连接虚拟机中的Linux系统中的Redis,进入到Windows本地Redis根目录
![image-20220803171336246](https://img-blog.csdnimg.cn/img_convert/35a83ec41af86d30c88cd803ab22489c.png)
可以正常连接:
![image-20220803171513245](https://img-blog.csdnimg.cn/img_convert/f0ce649595c172d35780ce50c9863932.png)
如果不可以连接的话:
在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
![image-20220804233921863](https://img-blog.csdnimg.cn/img_convert/a9e854f31bfd914ab7ad8dbf85d700b1.png)
JDK
下载
下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
下载版本:jdk-8u201-linux-x64.tar.gz
安装步骤
-
先检查环境是否有自带的JDK
rpm -qa | grep jdk
![image-20220803181916962](https://img-blog.csdnimg.cn/img_convert/491ba09d53109c9ff5b5fcbf81aedfdb.png)
-
如果有自带环境,先进行卸载。执行命令进行卸载,后缀".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
![image-20220803182258483](https://img-blog.csdnimg.cn/img_convert/48fc7b67bc3c83f5d24d0f69dd5dbf5f.png)
删完之后可以再通过rpm -qa | grep Java
命令来查询出是否删除掉
-
接下来就是要安装自己的jdk了,进入/usr/local/src
上传刚下载的jdk-8u201-linux-x64.tar.gz
![image-20220803183146007](https://img-blog.csdnimg.cn/img_convert/065be7ea4f4e32eb85e88de000f15adf.png)
-
解压jdk-8u201-linux-x64.tar.gz
![image-20220803183620434](https://img-blog.csdnimg.cn/img_convert/f878d6dd9d195de0c4092b66b53052e7.png)
![image-20220803183644321](https://img-blog.csdnimg.cn/img_convert/46bb36ccbf6500f940c29d8c8f6ce77d.png)
-
通过命令 cd /usr/local/
进入目录创建java文件夹
![image-20220803183328091](https://img-blog.csdnimg.cn/img_convert/ec380e5ea01d5ad178fe874c0194987b.png)
-
进入Java文件夹,移动刚才解压的jdk1.8.0_201
![image-20220803183948890](https://img-blog.csdnimg.cn/img_convert/bcbeed7d04e83f012623a36ea1eb40dc.png)
-
接下来开始配置环境变变量,通过 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
![image-20220803185756099](https://img-blog.csdnimg.cn/img_convert/4cd42bb228e12d42a756bb56a0830330.png)
-
保存完之后输入,使用命令使刚才配置的环境变量生效
source /etc/profile
-
测试jdk是否安装成功
![image-20220803185852507](https://img-blog.csdnimg.cn/img_convert/8580533f52963bc125ec6538a4bc0ddb.png)
MySQL
下载
下载地址:https://downloads.mysql.com/archives/community/
下载版本:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
![image-20220804113853114](https://img-blog.csdnimg.cn/img_convert/be1a7c1cf454d65077ddd76b2582c4da.png)
安装步骤
-
上传本地tar压缩包到服务器
![image-20220804114406335](https://img-blog.csdnimg.cn/img_convert/4823ff25298e1d2b7b882c8c7c953664.png)
-
卸载系统⾃带的MARIADB(如果有)。如果系统之前⾃带 Mariadb ,可以先卸载之。
首先查询已安装的 Mariadb 安装包:
rpm -qa|grep mariadb
![image-20220804114711485](https://img-blog.csdnimg.cn/img_convert/c1a2d91b18512966632a65370c44ef1d.png)
卸载掉:
yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
![image-20220804115316550](https://img-blog.csdnimg.cn/img_convert/14fa92d762845d720e372df356441d3c.png)
-
解压MYSQL安装包
进入/usr/local/src
目录,解压:
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local
进入/usr/local
,解压后的文件移动到mysql:
![image-20220804115833340](https://img-blog.csdnimg.cn/img_convert/42664a00aadcec77c505eb68408646a4.png)
-
创建MYSQL用户和用户组
groupadd mysql
useradd -g mysql mysql
![image-20220804121047494](https://img-blog.csdnimg.cn/img_convert/4b29d6a009610ea241177805f12f3a03.png)
同时新建 /usr/local/mysql/data 目录,后续备用
![image-20220804121223098](https://img-blog.csdnimg.cn/img_convert/cafc5594e417f9bb67cbc774cb16be6f.png)
-
修改MYSQL目录的归属⽤户,在mysql目录执行
chown -R mysql:mysql ./
![image-20220804121345266](https://img-blog.csdnimg.cn/img_convert/471354b1935a3580f62918cb55b0a153.png)
-
准备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
![image-20220804121922212](https://img-blog.csdnimg.cn/img_convert/3d6691e0a4c9957c50f5c6e905e8aa1e.png)
![image-20220804122228297](https://img-blog.csdnimg.cn/img_convert/ccea93bcdbb80967955e70b10054692a.png)
![image-20220804122208179](https://img-blog.csdnimg.cn/img_convert/68fda2bfe2be88612f01eb24ebcf7e89.png)
同时使⽤如下命令创建 /var/lib/mysql
⽬录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
![image-20220804122410824](https://img-blog.csdnimg.cn/img_convert/f92d295bb67d2df3f5bd4881a6419dfc.png)
-
正式开始安装MYSQL。执⾏如下命令正式开始安装:
进入/usr/local/mysql
:
cd /usr/local/mysql
然后:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
![image-20220804122756357](https://img-blog.csdnimg.cn/img_convert/0ccfbcb351ea94b6adb025a9913e33ad.png)
注意:记住上⾯打印出来的 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
![image-20220804123034678](https://img-blog.csdnimg.cn/img_convert/942e3338fd43e2fae08282361b586274.png)
并修改 /etc/init.d/mysqld
,修改其 basedir
和 datadir
为实际对应目录:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
![image-20220804123542365](https://img-blog.csdnimg.cn/img_convert/ae70ed1094bdf9c4eaf3c6a936320ae6.png)
![image-20220804123458432](https://img-blog.csdnimg.cn/img_convert/a943d7f7da0b40483239d0e1d0a29848.png)
-
设置MYSQL系统服务并开启自启
首先增加 mysqld 服务控制脚本执行权限:
chmod +x /etc/init.d/mysqld
![image-20220804123717758](https://img-blog.csdnimg.cn/img_convert/ff32aa827c2f56f2396f6b87ef5565e9.png)
同时将 mysqld 服务加入到系统服务:
chkconfig --add mysqld
![image-20220804123816464](https://img-blog.csdnimg.cn/img_convert/46d959179dc905179e2f2e5faeb350dc.png)
最后检查 mysqld 服务是否已经生效即可:
chkconfig --list mysqld
![image-20220804123952389](https://img-blog.csdnimg.cn/img_convert/63ca5a7668c270f01f4d1c16f3cd5e51.png)
这样就表明 mysqld 服务已经生效了,在2、3、4、5运行级别随系统启动而⾃动启动,以后可以直接使用 service 命令控制 mysql 的启停。
-
启动MYSQLD
service mysqld start
![image-20220804124112364](https://img-blog.csdnimg.cn/img_convert/2ee6dfbf421e6912b23b574784de7d52.png)
-
将 MYSQL 的 BIN 目录加入 PATH 环境变量,这样方便以后在任意目录上都可以使用 mysql 提供的命令。
编辑 ~/.bash_profile
文件,在文件末尾处追加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
![image-20220804124437217](https://img-blog.csdnimg.cn/img_convert/8282681277ed48a258d9f5e451bdeee7.png)
![image-20220804124408844](https://img-blog.csdnimg.cn/img_convert/cb24eb69bee9c13b13737f8e3b1d88ad.png)
最后执行如下命令使环境变量生效:
source ~/.bash_profile
![image-20220804124608320](https://img-blog.csdnimg.cn/img_convert/ee982bfc7c5118ae328679ab03a57d49.png)
-
首次登录MYSQL,以 root 账户登录 mysql ,使用安装完成提示的密码进行登录
mysql -u root -p
![image-20220804125059951](https://img-blog.csdnimg.cn/img_convert/f3fe4b740ab631c84bad49759899fffe.png)
-
接下来修改ROOT账户密码,在mysql的命令行执行如下命令即可,密码可以换成你想用的密码即可:
mysql>alter user user() identified by "123456";
mysql>flush privileges;
![image-20220804125325200](https://img-blog.csdnimg.cn/img_convert/82858db2897e5dde11655161e4a30c72.png)
-
设置远程主机登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
![image-20220804125524516](https://img-blog.csdnimg.cn/img_convert/2ec264671137eb6cd7fff07cf97b34b9.png)
如果远程连不上的话,可能是防火墙的问题,端口没有在防火墙开放:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=3306/tcp
![image-20220804131153037](https://img-blog.csdnimg.cn/img_convert/c701da2618913b7555a5b6ef6d3e58ef.png)
Nacos
下载
下载地址: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
![image-20220804163112379](https://img-blog.csdnimg.cn/img_convert/c7b4ccf275be0c54cb9fe56f7a658d23.png)
-
修改 startup.sh:更改java 的安装目录和 export MODE=“standalone”
进入/usr/local/nacos/bin
![image-20220804145822373](https://img-blog.csdnimg.cn/img_convert/0f49be641f5a5ecca4e3b1f1d3cce23c.png)
-
配置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
![image-20220804164719071](https://img-blog.csdnimg.cn/img_convert/9f817171e0ea2d98f1a93140b2cca950.png)
-
执行SQL脚本,注意数据库名称
![image-20220804164824267](https://img-blog.csdnimg.cn/img_convert/eed8182bc6a03c2b2b9fdb47e4439092.png)
由于本人学习过程中,将sql脚本集成到了一个Spring Boot 项目中了,故这里可以直接运行Jar包,jar包哪里来,后面会介绍:
java -jar center-data-nacos-config.jar
![image-20220804165051266](https://img-blog.csdnimg.cn/img_convert/0c355f34c7b8356394e27e47f5f93264.png)
-
进入 bin 目录,启动程序:
./startup.sh
![image-20220804151703953](https://img-blog.csdnimg.cn/img_convert/8a716c3f679f71b39cfadbd1a03232f4.png)
-
暴露端口
firewall-cmd --permanent --zone=public --add-port=8848/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=8848/tcp
![image-20220804152305967](https://img-blog.csdnimg.cn/img_convert/6cccb7dfba7ed9f47fbe758a00d117c6.png)
-
访问地址:http://192.168.184.128:8848/nacos/index.html
用户名/密码:nacos/nacos
![image-20220804165206734](https://img-blog.csdnimg.cn/img_convert/8581578b8f9c5fa1f6c66770dad45821.png)
开机自启
进入/lib/systemd/system
目录,创建nacos.service
文件
cd /lib/systemd/system
touch nacos.service
![image-20220804191936191](https://img-blog.csdnimg.cn/img_convert/4d2edfb471ecdefcd7debb795d67c489.png)
编辑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
![image-20220804191848430](https://img-blog.csdnimg.cn/img_convert/5a2350547bd736f43afc4c4d36e90227.png)
查看该服务状态:
systemctl status nacos.service
![image-20220804192428577](https://img-blog.csdnimg.cn/img_convert/be1d8b292a338e812ba3f8a203b48af6.png)
Node.js
下载
下载地址:https://registry.npmmirror.com/binary.html?path=node/v14.17.0/
下载版本:node-v14.17.0-linux-x64.tar.xz
安装步骤
-
上传包至/usr/local/src
![image-20220804172242379](https://img-blog.csdnimg.cn/img_convert/45c49f35b6bfc53d62908cc466c7f634.png)
-
在 /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
的目录
![image-20220804180751488](https://img-blog.csdnimg.cn/img_convert/8b48657944c475561a728fa57184ed01.png)
-
配置NODE系统环境变量
编辑 ~/.bash_profile
文件,在文件末尾追加如下信息:
vi ~/.bash_profile
# Nodejs
export PATH=/usr/local/node/node-v14.17.0-linux-x64/bin:$PATH
![image-20220804181109443](https://img-blog.csdnimg.cn/img_convert/e705b12a1f3d4e887f72a76a5310125e.png)
刷新环境变量,使之生效即可:
source ~/.bash_profile
-
检查安装结果
node -v
npm version
npx -v
均有版本信息输出即可:
![image-20220804181327710](https://img-blog.csdnimg.cn/img_convert/838d77100bc92ba4731748f356949fd9.png)
nginx
下载
下载地址:https://nginx.org/en/download.html
下载版本:nginx-1.18.0.tar.gz
![image-20220805172718494](https://img-blog.csdnimg.cn/img_convert/e4270906d57ac8bee9e92e0696cb1aa1.png)
安装步骤
-
创建文件夹并进入
mkdir /usr/local/nginx
-
解压
tar -zxvf /usr/local/src/nginx-1.18.0.tar.gz -C ./
![image-20220805173115329](https://img-blog.csdnimg.cn/img_convert/21825aa95726837e4364fc84b5bff27b.png)
-
预先安装额外的依赖
yum -y install pcre-devel
![image-20220805173531486](https://img-blog.csdnimg.cn/img_convert/65336f6e61bd50cc540b300f41c4c59e.png)
yum -y install openssl openssl-devel
![image-20220805173609883](https://img-blog.csdnimg.cn/img_convert/2246bc5d78d7c62786651442173f0ac9.png)
-
编译安装NGINX
cd nginx-1.18.0
./configure
make && make install
![image-20220805173851540](https://img-blog.csdnimg.cn/img_convert/a7f23b0b1eb1c32731bcf3a93a25fe29.png)
-
安装完成后,Nginx的可执行文件位置位于/usr/local/nginx/sbin/nginx
![image-20220805174018941](https://img-blog.csdnimg.cn/img_convert/215b97c055a969e779cec0417c125298.png)
-
直接执行如下命令即可:
/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
![image-20220805174544150](https://img-blog.csdnimg.cn/img_convert/2f489e37bdc4c494b557ac533fbd4975.png)
-
浏览器验证启动情况
![image-20220805174630130](https://img-blog.csdnimg.cn/img_convert/3d6e6a368ac5b10b743519f74198dd84.png)
开机自启
-
创建开机自启脚本
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 v1.0.0
基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构
项目简介
Center Platform 是一套基于RuoYi框架的快速开发平台,毫无保留给个人及企业免费使用。
- 采用前后端分离的模式,微服务版本前端。
- 后端采用Spring Boot、Spring Cloud & Alibaba。
- 注册中心、配置中心选型Nacos,权限认证使用Redis。
- 流量控制框架选型Sentinel,分布式事务选型Seata。
友情链接 若依/RuoYi-Cloud。
Windows环境下
项目启动
前端启动步骤
- clone项目
git clone https://gitee.com/haaaaaaaaaaaa/center-platform.git
- 进入前端项目(center-ui)根目录执行命令
npm install
- 依赖下载完毕之后
npm run dev
- 至此前端项目启动完毕
后端启动步骤
- 新建数据库,名称分别为:
center
、center-config
、center-seata
,不需要手动执行SQL脚本,后续步骤可以自动建立系统需要的表和数据。建议启动项目之前不要修改项目中数据库URL,等到项目成功运行之后,再进行个性化修改。
- 项目在Idea中打开之后,等待依赖下载完毕。
- 成功之后进入种子数据模块:
├── center-data // 种子数据模块
│ └── center-data-common // 基础种子数据模块[9400]
│ └── center-data-nacos-config // Nacos种子数据初始化模块[9500]
│ └── center-data-seata // Seata种子数据初始化模块[9600]
- 首先运行
CenterDataNacosConfigApplication
,成功执行之后,自动将Nacos需要的数据初始化到数据库中。成功运行截图如下:
![](http://my-typora-images.oss-cn-beijing.aliyuncs.com/2022/07/29/20220729-231535.png)
此时数据库center-config
中已经生成了相关表以及插入了相关数据。
- 修改Nacos配置文件中数据库为
center-config
,配置自己的数据库连接密码:
- Nacos配置完成之后,启动Nacos。
- 接下来运行
CenterDataCommonApplication
,成功执行后即自动在数据库center
中建立相关表,以及插入初始化数据。
- 然后运行
CenterDataSeataApplication
。CenterDataCommonApplication
和CenterDataSeataApplication
没有严格顺序要求。
- 至此,项目启动所需要的数据库以及表、表数据均已初始化完毕。
- 本地启动Redis,先不要使用密码,成功运行之后再根据需要修改配置,添加个性化设置。
- 启动必需服务:
CenterAuthApplication
、CenterFileApplication
、CenterGatewayApplication
、CenterSystemApplication
。
- 恭喜你!到这里后端启动成功。不出意外,此时你便可以进入系统,开始你的创造,感谢使用!
CentOS 7 环境下
后端部署
新建数据库
远程连接CentOS 7 环境中的数据库,新建:center、center-config、center-seata。只需要新建数据库库即可,不用执行SQL脚本。
![image-20220805131730287](https://img-blog.csdnimg.cn/img_convert/afec70cdc622ba5f951644290cde7f08.png)
![image-20220805131617916](https://img-blog.csdnimg.cn/img_convert/f7955e24d901da73c12e94d42ccf5e4e.png)
Shell脚本
启动种子服务jar包脚本
创建文件夹:
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
启动常用服务jar包脚本
创建目录:
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:全格式
![image-20220808124030002](https://img-blog.csdnimg.cn/img_convert/38996bfcea82eb54bedc1eaa371edcd8.png)
grep:查找字符串
grep -v -grep:过滤自己执行的grep
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpMCqLO3-1659950505371)(C:\Users\C\AppData\Roaming\Typora\typora-user-images\image-20220808124249348.png)]
awk:提取主要列列的主要工具
![image-20220808124141105](https://img-blog.csdnimg.cn/img_convert/c130f374977499153b41a6611e254e67.png)
#进入常用服务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包运行
按照顺序执行如下jar包:一定要第一个执行center-data-nacos-config.jar
,这个是Nacos的配置数据库种子数据。
上传jar包
进入目录:
cd /usr/local/center/center-data
上传jar包:
![image-20220805141515702](https://img-blog.csdnimg.cn/img_convert/1287fb550d048ba8187adc18fd18a7aa.png)
Tips:
能力有限,脚本差强人意,如果不喜欢的话,不使用也可以。直接使用命令一个一个启动即可:
java -jar xxx.jar
第一center-data-nacos-config.jar
很重要!!!第一个执行这个。
演示一下使用命令启动:
java -jar center-data-nacos-config.jar
![image-20220805143716047](https://img-blog.csdnimg.cn/img_convert/e5e5fcf557c9fcaff004030fcb660ead.png)
成功运行之后便会创建系统更需要的基础表及数据:
![image-20220805143857963](https://img-blog.csdnimg.cn/img_convert/28243406659dcae5c7c83956cdeb67ba.png)
本服务是Nacos的配置数据库种子数据初始化服务。后续步骤成功与否皆系于此。
第二center-data-common.jar
java -jar center-data-common.jar
![image-20220805144023686](https://img-blog.csdnimg.cn/img_convert/68e48543db568d57f08b5ca89a1f85a4.png)
![image-20220805144116417](https://img-blog.csdnimg.cn/img_convert/2585f8862286a4302d45206753cb52c8.png)
成功运行之后便会创建系统更需要的基础表及数据:
![image-20220805144204962](https://img-blog.csdnimg.cn/img_convert/497748f574308d28b94e00a8e57d6d56.png)
第三center-data-seata.jar
java -jar center-data-seata.jar
![image-20220805144405427](https://img-blog.csdnimg.cn/img_convert/e063629e81f0f89d03fa0b96e638cf6b.png)
![image-20220805144434850](https://img-blog.csdnimg.cn/img_convert/fad01d99b11167eeb1920cfcfd9fe4d7.png)
成功运行之后便会创建系统更需要的基础表及数据:
![image-20220805144522125](https://img-blog.csdnimg.cn/img_convert/cae685c0ca958d3c60bd765f9229339f.png)
至此,项目需要的数据库以及涉及的表数据均已准备好。
常用服务jar包运行
上传jar包
进入目录,上传jar包:
cd /usr/local/center/center-platform
![image-20220805165158678](https://img-blog.csdnimg.cn/img_convert/487facf11e4328a1204d5faa217ec712.png)
启动
Tips:
能力有限,脚本差强人意,如果不喜欢的话,不使用也可以。直接使用命令一个一个启动即可:
java -jar xxx.jar
演示命令启动:
java -jar center-auth.jar
![image-20220805170848127](https://img-blog.csdnimg.cn/img_convert/bba3c9f8906677856945cbea2d642da9.png)
![image-20220805170920649](https://img-blog.csdnimg.cn/img_convert/2871882aaf6748c5dff9787451bb5c24.png)
其他服务是一样的,启动就行。
前端部署
-
打包,在vue工程根目录录执行打包命令
npm run build:prod
![image-20220805175119388](https://img-blog.csdnimg.cn/img_convert/d4a289000c3709b83ff36ba1a0ef5f12.png)
-
压缩zip格式后上传
![image-20220805175437631](https://img-blog.csdnimg.cn/img_convert/27dadcd86cb654d0c62d78a757b43055.png)
-
创建目录
mkdir -p /usr/local/webapp/center-ui
进入目录解压:
unzip -d ./ /usr/local/src/dist.zip
![image-20220805180835904](https://img-blog.csdnimg.cn/img_convert/da59370641a9439e2fc9908fa4650494.png)
-
打开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/;
}
![image-20220806160323950](https://img-blog.csdnimg.cn/img_convert/e91cd2cbd9cff573270b1a26b621a6cf.png)
-
重启Nginx
/usr/local/nginx/sbin/nginx -s reload
![image-20220805181548366](https://img-blog.csdnimg.cn/img_convert/d5ffb692da15f86bd9ffa115aea67e3a.png)
-
查看
![在这里插入图片描述](https://img-blog.csdnimg.cn/892995cef4dd44f5b56d21e56093b184.png)
如果小图标不显示:Ctrl+Shift+R
![image-20220806181021030](https://img-blog.csdnimg.cn/img_convert/f62af39676cdb4bca4f96257f10c9967.png)
声明:
本篇文章为学习笔记,若作品涉及版权或存在其他问题,请联系我删除。
谢谢浏览!