nacos微服务windows本地jar包部署

一开始是想部署到tomcat,发现gateway不能用tomcat部署,spring cloud gateway是基于netty的webflux响应式框架,必须要使用内置的tomcat,无法部署到外置的tomcat..

前端暂时还是放到tomcat..

 一、修改项目

 1、在每个微服务添加NacosConfig.class

@Component
public class NacosConfig implements ApplicationRunner {

    @Autowired(required = false)
    private NacosAutoServiceRegistration registration;

    @Value("${server.port}")
    Integer port;

    @Override
    public void run(ApplicationArguments args) {
        if (registration != null && port != null) {
            Integer tomcatPort = port;
            try {
                tomcatPort = new Integer(getTomcatPort());
            } catch (Exception e) {
                e.printStackTrace();
            }

            registration.setPort(tomcatPort);
            registration.start();
        }
    }

    /**
     * 获取外部tomcat端口
     */
    public String getTomcatPort() throws Exception {
        MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
        Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"), Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
        String port = objectNames.iterator().next().getKeyProperty("port");
        return port;
    }
}

打包,直接启动,将前端包打好放到tomcat,浏览器访问正常。

特别注意: nacos控制台--配置列表中的配置内容不要出现中文,不要出现中文,不要出现中文

二、windows开机启动jar包

1、新建一个txt文件,编辑以下内容,将文件后缀txt改为bat,双击运行,弹出三个窗口正常运行jar包切不报错。

@echo 1、aaa--------------------
start java -jar D:\nacos-server\aaa.jar
@echo 2、bbb--------------------
start java -jar D:\nacos-server\bbb.jar
@echo 3、gateway--------------------
start java -jar D:\nacos-server\gateway-service.jar

2、上面的启动jar包的方式会弹出java运行窗口,感觉不太友好,改用javaw启动

但是日志却打不出来(后面再来解决)

@echo off
start javaw -jar -Dfile.encoding=utf-8 -Xms500m -Xmx512m D:\nacos-server\aaa.jar > D:\nacos-server\aaa-%date:~0,4%%date:~5,2%%date:~8,2%.log  2>&1 &
start javaw -jar -Dfile.encoding=utf-8 -Xms500m -Xmx512m D:\nacos-server\bbb.jar > D:\nacos-server\bbb-%date:~0,4%%date:~5,2%%date:~8,2%.log  2>&1 &
start javaw -jar -Dfile.encoding=utf-8 -Xms500m -Xmx512m D:\nacos-server\gateway.jar > D:\nacos-server\gateway-%date:~0,4%%date:~5,2%%date:~8,2%.log  2>&1 &
exit
## 记录下..
timeout /t 2 2秒之后自动关闭
pause 按任意键退出
exit  自动退出

3、将bat文件放到指定的目录

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

4、关闭被占用的端口号

netstat -aon|findstr 8081  # 根据端口号查看pid	
taskkill /f /pid 7848      # 强制杀死进程	

 关闭多个,写一个shutdown.bat

参考博客 https://developer.aliyun.com/article/887451

@echo off

set port=8081 8082 8083

for /f "tokens=1-5" %%a in ('netstat -ano^|findstr ":%port%"') do (

    echo PID:%%e is running,kill the process [%%e] who use the port [%%b]

    taskkill /F /pid %%e

)

pause

 三、本地安装nacos

1、启动,在startup.cmd中26行修改 set MODE="standalone";

2、在conf--application.properties中修改(放开)

spring.datasource.platform=mysql;
db.num=1;
db-url、user、password

3、在nacos-mysql.sql中修改增加两行建库sql

create database IF NOT EXISTS `db_nacos` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `db_nacos`;

4、导数据   

mysql - u root -p
输入mysql密码
source d:\nacos-mysql.sql;

四、将nacos也做成开机启动

参考博客 https://blog.csdn.net/GBK_8/article/details/123631533

设置windows开机自启需要使用到WinSW.NET4.exe工具

## 最近git总是访问不上,在阿里云服务器下载
wget https://github.com/winsw/winsw/releases/download/v3.0.0-alpha.10/WinSW-x64.exe

 将WinSW-x64.exe重命名为nacos-service.exe,放到D:\nacos-1.2.0\nacos\bin目录下,并新建一个nacos-service.xml

<service>
  <!-- 唯一服务ID-->
  <id>nacos</id>
  <!-- 显示服务的名称 -->
  <name>Nacos Service</name>
  <!-- 服务描述 -->
  <description>Nacos服务</description>
  <!-- 日志路径 注意这里的路径改为你的nacos路径-->
  <logpath>D:\nacos-1.2.0\nacos\logs\</logpath>
  <!-- 日志模式 -->
  <logmode>roll</logmode>
  <!-- 可执行文件的命令 注意这里的路径改为你的nacos路径-->
  <executable>D:\nacos-1.2.0\nacos\bin\startup.cmd</executable>
  <!-- 停止可执行文件的命令 注意这里的路径改为你的nacos路径-->
  <stopexecutable>D:\nacos-1.2.0\nacos\bin\shutdown.cmd</stopexecutable>
</service>

输入nacos-service.exe install即可 出现下图及说明成功,卸载命令 :nacos-service.exe uninstall 

 

 

 

 

 

重启电脑,java服务正常运行,nacos自动启动,java服务注册到nacos,浏览器访问正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值