windows环境部署微服务项目(踩坑版)

windows环境部署微服务项目(踩坑版)


前言

目前较为主流的微服务部署,基本都是在liunx环境上进行部署,很少有人尝试在windows进行部署,因为是给甲方进行部署,并且只有windows的服务器,如果给对方重装liunx系统耗时耗力,因此我也是第一次尝试在windows进行部署,因为项目用到的中间件较少,只用到了mysql,minio和redis,因此此文也只讲述这三种中间件的部署,其余的中间件本文就不再一一详解了,具体还请移步具体的文档。

因为本次的要求为:中间件+数据库一台服务器,应用一台服务器。所以此文会以这个视角进行讲述如何部署,如果都在一台服务器上的话,可能会更简单,如果服务器更为细分的话,也大同小异。


一、中间件+数据库安装

mysql

mysql为向下兼容,如果本地的数据为5.7,其实可以下载最新的数据库版本,不需要考虑兼容性问题
因为mysql的windows安装已经有较为详细的讲解了,此处就不再详解了,具体的参考下面连接的安装

https://blog.csdn.net/weixin_45896437/article/details/132030152
数据库连接工具,可以使用他的,也可以使用navicat,下面的链接为navicat的破解链接,
https://www.cnblogs.com/marchxd/p/15580739.html

redis

redis的资源包,可以下载本文档的redis包
解压之后会进入下面的页面
在这里插入图片描述
如果redis和应用在一台服务器的话,可以双击上面红框里的启动程序直接启动
如果不在一台服务器上,应用需要通过内网访问当前的服务器,需要进行配置
首先编辑文本 redis.windows.conf
在这里插入图片描述
需要注掉bind和mode之后,外网才能通过ip端口进行访问redis,否则无法访问

在这里插入图片描述

把此处的yes替换成no后,保存文件
在这里插入图片描述
但是如果是修改过的配置文件
启动的话,需要在路径内输入cmd,打开cmd窗口,然后使用命令
redis-server.exe redis.windows.conf
启动
在这里插入图片描述
这样即可成功启动redis
在这里插入图片描述

minio

minio与mysql相似,参考下面的链接安装之后,即可使用
https://blog.csdn.net/HLXTU/article/details/130770881

开放端口

因为需要应用服务器也访问当当前服务器中装的中间件与数据库,因此,需要开放端口

打开控制面板

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入需要开放的端口号,例如mysql默认的端口号是3306,redis默认的端口号是6379,minio的默认端口号是9001
如果没有修改过的话,开放上面的是哪个端口即可
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
输入当前开放的是什么端口,点击完成,即可开放对应的端口号
在这里插入图片描述
正常开放之后,同一个局域网下的应该就可以正常访问了,如果还是不能访问,尝试关闭对应的防火墙试试
在这里插入图片描述
进入上面的页面关闭防火墙,理论上关闭之后就可以被另一台服务器访问到了。

配置完成中间件和数据的服务器后,再来配置应用的服务器

应用服务器

应用服务器因为后端是java,前端是vue因此采用的是jar包和nginx启动

并且因为是给甲方部署的,因此只需要部署一套环境,因此不存在多套的情况,也就放弃了小皮面板+docker的部署模式,那样会显得臃肿

nginx

nginx的安装与配置参考下面的文档即可
https://blog.csdn.net/zorro_jin/article/details/84927408
vue文件存放目录
在这里插入图片描述
配置文件修改目录

在这里插入图片描述
nginx的配置文件此处就不再进行详细解释了,liunx和windows的配置是一样的,只需要调整代理即可,我这个地方因为只有这一个服务就采用了他默认的80端口没有进行修改,如果有端口冲突,切记要进行修改

java

因为采用了jar包部署
所以需要先下载java并配置环境
环境安装参考下面的攻略
https://blog.csdn.net/ACE_U_005A/article/details/114840497
如果觉着注册甲骨文的号太麻烦,可以使用华为云的镜像进行下载
https://repo.huaweicloud.com/java/jdk/
JDK安装完成之后,就可以配置应用了
打包的话我本地使用的是maven进行打包
打完包后,可以使用向日葵或者todesk将文件上传到对应的服务器上
后端目录可以参考我的配置
在这里插入图片描述
为了避免配置文件夹的更换导致需要重新打包的情况出现,因此此处采用了配置文件与jar包分离的模式,里面每一个文件夹内存放的都是application.yml文件,本地的配置文件怎么书写基本不变,只需要把类似于数据库,中间件,微服务间调用的url进行替换成服务环境即可

具体的jar包启动命令为

java -Xmx500m -jar donger-mom-mes-3.0-executor.jar --spring.config.location=C:\Users\Administrator\Desktop\end\mes\application.yml

donger-mom-mes-3.0-executor.jar jar包的名称,替换成自己的jar即可使用

C:\Users\Administrator\Desktop\end\mes\application.yml 配置文件存放的路径
启动之后,如果jar包不报错,并且能够正常访问,就说明没问题了。

如果想要局域网内的机器也能访问到前端页面,可以参考上面的端口,开放nginx配置的端口,如此外界就可以访问了

固定IP

如果IP地址不固定的话,极有可能出现电脑重启之后ip重新分配,原有的配置项就不管用了,导致无论如何都ping不通
首先打开控制面板
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的配置参考下面ipconfig的参数进行配置
在这里插入图片描述

内网穿透

因为服务并不只是为了内网的人使用,如果想要外网的人也使用,内网穿透是必不可少的工作

下面采用了贝锐的花生壳进行内网穿透,但是需要注意的是贝锐的花生壳是付费软件。
1.从官网下载花生壳应用,并进行安装
2.安装完成之后,需要登录自己的账户并完成使命认证
3.选择内网穿透,然后点击加号,新建一个新的内网穿透
在这里插入图片描述

  1. 如果点击没有反应,查看左下角是否提示尚未使命认证,如果提示,则需要去完成实名认证

  2. 进入网页之后,默认会弹出下面的视窗,如果没有打开则选择左侧的菜单的内网穿透,然后点击添加映射
    在这里插入图片描述

  3. 点击开始创建之后,如果提示需要付费,可以选择最便宜的http的付费,默认进入是https+http的付费模式。

  4. 而后会进入创建的页面
    在这里插入图片描述

在这一步,需要首先创建此次映射的名称
应为前面只购买了http的,因此,选择http的类型即可
外网的名称如果是购买了服务的话,会默认带出一个域名,采用默认的即可
内网则选择你需要映射的服务以及端口号,因为使用的是windows的系统,因此可以win+R然后输入cmd进入控制台,输入ipconfig查看当前的ipv4地址
在这里插入图片描述
在这里插入图片描述

有了ipv4地址,然后端口号,选择网页的端口即可,网页的端口,为你在nginx配置的端口号
全部选择完毕之后直接点击下方的确定即可常见映射。此时即可从外网用上面选择的域名进行访问

但是需要注意的是,花生壳虽然6元就能使用,但是速度慢等问题层出不穷,最好还是通过配置宽带进行内网穿透,因为我还并未使用过因此,此处不做详解,后续如果使用过,再进行补充

配置开机启动

bat文件

@echo off  

setlocal enabledelayedexpansion  
REM 需要结束的进程号 
set "ports=8711 8713 8717 8718"  
  
for %%p in (%ports%) do (  
    for /f "tokens=1-5" %%a in ('netstat -ano ^| findstr ":%%p "') do (  
        if "%%e" == "" (  
            set "pid=%%d"  
        ) else (  
            set "pid=%%e"  
        )  
        if not "!pid!" == "" (  
            echo Killing process with PID: !pid! using port %%p  
            taskkill /f /pid !pid!  
        )  
    )  
)  
REM 错误日志输出到每个配置文件的error文件内  
REM 启动mes服务的Java应用程序  
start "mes" cmd /k "cd /d C:\Users\Administrator\Desktop\end\ && (java -Xmx500m -Dfile.encoding=UTF-8 -jar donger-mom-mes-3.0-executor.jar --spring.config.location=C:\Users\Administrator\Desktop\end\mes\application.yml ) 2> C:\Users\Administrator\Desktop\end\mes\error.txt"  
  
REM 启动wms服务的Java应用程序  
start "wms" cmd /k "cd /d C:\Users\Administrator\Desktop\end\ && (java -Xmx500m -Dfile.encoding=UTF-8 -jar donger-mom-wms-3.0-executor.jar --spring.config.location=C:\Users\Administrator\Desktop\end\wms\application.yml ) 2> C:\Users\Administrator\Desktop\end\wms\error.txt"  
  
REM 启动tpm服务的Java应用程序  
start "tpm" cmd /k "cd /d C:\Users\Administrator\Desktop\end\ && (java -Xmx500m -Dfile.encoding=UTF-8 -jar donger-mom-tpm-3.0-executor.jar --spring.config.location=C:\Users\Administrator\Desktop\end\tpm\application.yml ) 2> C:\Users\Administrator\Desktop\end\tpm\error.txt"  
  
REM 启动qms服务的Java应用程序  
start "qms" cmd /k "cd /d C:\Users\Administrator\Desktop\end\ && (java -Xmx500m -Dfile.encoding=UTF-8 -jar donger-mom-qms-3.0-executor.jar --spring.config.location=C:\Users\Administrator\Desktop\end\qms\application.yml ) 2> C:\Users\Administrator\Desktop\end\qms\error.txt"

REM 切换到nginx目录  
cd /d C:\Users\Administrator\Desktop\nginx-1.26.0\nginx-1.26.0  
  
REM 检查nginx.exe是否存在并启动它  
if exist nginx.exe (  
    start nginx.exe  
) else (  
    echo Nginx executable not found.  
)  
  
REM 脚本结束,保持窗口打开以便查看输出(如果需要)  
pause

如果要编写的话,可以参考我上面的配置文件,进行修改,
在这里插入图片描述
目录结构为上图所示,具体的bat文件根据自己的情况自行调整

开机启动

目录结构一般:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
因为系统有可能是中文系统,因此实际看到的可能如下图所示
在这里插入图片描述
把刚才写好的bat文件放在下面即可,开机会自动运行配置文件

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值