微服务部署篇

前言

最近利用脚手架,做了几个小功能试试手。主要是练练服务的部署,不得不说微服务就是费钱,一共上了五个中心(网关,用户,认证,辅助,调度),还有一台mysql,一台redis,一台nacos。目前运行在四台服务器上,都是1核2G的小服务器。一台华为云,三台腾讯云(里面一台轻量级应用服务器)。mysql+redis+nacos部署在一台华为云服务器上,认证和网关一台,调度和辅助一台,用户和vue前端一台。竟然扛住了,也是惊讶,当然了,没什么交易量,就我自己一个人在用。

服务器设置

买了云服务器之后我一般会做两个事,一个是修改密码,一个是更换ssh端口和开启远程访问。当然了一般还有新建用户组,我为了偷懒就直接部署在了root用户上面(不提倡用root用户部署哈)。我用的服务器系统都是CentOS。

修改密码就直接在腾讯云的界面上重置密码就行了。

修改ssh端口:vim /etc/ssh/sshd_config,修改 # Port 22 和 # PermitRootLogin yes。记得把注释去掉。然后重启服务。(切记要在安全组里面把设置的远程端口加上,不然连不上的)

mysql,redis,nacos的搭建我就不介绍了,网上都有现成的教程。

java环境搭建

我用的jdk17

1:执行命令(自己选一个目录哈,我的是/java)

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

2:解压

tar -xzvf jdk-17_linux-x64_bin.tar.gz

3:修改文件夹名称(可以没有)

mv jdk-17.0.6 jdk-17

4:修改环境变量

vim /etc/profile

最下面添加

export JAVA_HOME=/java/jdk-17

export PATH=$PATH:$JAVA_HOME/bin

5:刷新

source /etc/profile

然后执行java -version就可以看到成功了。

nginx搭建

nginx主要是为了部署vue前端项目

1:下载nginx包(nginx-1.23.3.tar.gz)

2:准备服务器nginx环境

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

3:选一个目录解压nginx包

tar -zxvf nginx-1.23.3.tar.gz

4:执行命令

./configure

make

make install

5:查询nginx安装目录,一般是/usr/local/nginx

whereis nginx

6:启动和停止命令,在sbin目录下执行

./nginx 启动

./nginx -s stop 停止

后端服务部署

我后管有一个服务部署功能,只需要本地有服务部署路径就行。这个就不介绍了,介绍下我的脚手架怎么手动部署。

1:打包,用idea打,找到右侧的maven。打开你要打的服务包,先clean,然后install。

打包

我的脚手架打包出来就是appetite这个文件夹。压缩它上传到服务器。然后进到bin目录下,执行

sh start.sh

这有一个问题,脚本格式不对,需要执行 dos2unix start.sh 更换格式,应该是windows系统自动给他改了格式。至此后端项目就启动成功了。

前端项目部署

我用的是vue3脚手架

打包命令:pnpm run build

前端

项目会有一个dist文件夹,将这个dist文件夹上传到nginx服务器的/usr/local/nginx/html目录下。

配置nginx文件。vim /usr/local/nginx/conf/nginx.conf

nginx配置

打马赛克的是你的域名或者前端服务地址。如果是域名的话你还要去配置DNS解析,我是用的腾讯云的域名。

DNS解析

上面是域名,nginx是80端口,就直接配置域名就行了,否则还要在后面加端口,下面就是你的服务器外网地址。

最后重启nginx服务就完成了。

问题

搭建过程中遇到了几个关键性的问题。

1:云服务器的安全组,因为我的服务器不在一个内网里面,所有四台服务器要彼此放开对应的端口。我就直接将四台服务器之间都放开了。然后你的网关端口要对所有地址开放。

2:nacos和xxl-job默认注册上去的是内网地址,需要手动配置一下外网地址

nacos:服务的配置文件里面加上spring.cloud.nacos.discovery.ip=你的服务外网地址

xxl-job:服务的配置文件里面加上xxl.job.executor.ip=你的服务外网地址

3:由于我的服务器内存不够,java的启动脚本里面一定要加上jvm配置,刚开始的时候我是直接 nohup java -jar ***.jar,服务器一会就扛不住了,后面加上了一些启动配置,就好了。我贴一下,加在 java 和-jar中间。

--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED -server -XX:+HeapDumpOnOutOfMemoryError -Xms64m -Xmx128m -Xmn64m -Xss256k -XX:SurvivorRatio=8 -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow

项目截图

结语

服务器太少了,后管也还没部署,也没有搞https证书,前端和后端交互还是明文,前端还没做报文加密。反正是玩玩的,无所谓了,就当练练手了。下期再见。

展开阅读全文

页面更新:2024-05-14

标签:华为   脚手架   腾讯   网关   端口   文件夹   地址   服务器   域名   项目

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top