最近利用脚手架,做了几个小功能试试手。主要是练练服务的部署,不得不说微服务就是费钱,一共上了五个中心(网关,用户,认证,辅助,调度),还有一台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的搭建我就不介绍了,网上都有现成的教程。
我用的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主要是为了部署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
打马赛克的是你的域名或者前端服务地址。如果是域名的话你还要去配置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中间。
服务器太少了,后管也还没部署,也没有搞https证书,前端和后端交互还是明文,前端还没做报文加密。反正是玩玩的,无所谓了,就当练练手了。下期再见。
评论留言