钉钉小程序部署到Linux服务器上

服务的程序编译,打包,生成对应得.pid文件

在Maven Projects 窗口中选择项目下Lifecycle 下得compile 执行编译,package 执行打包

钉钉小程序部署到Linux服务器上

 

在application.java 启动类main方法中添加生成pid得代码

public static void main(String[] args) {
   //SpringApplication.run(Application.class, args);
   SpringApplication app = new SpringApplication(Application.class);
   app.addListeners(new ApplicationPidFileWriter());
   app.run(args);
}

编写run.sh 的shell 启动脚本,指定jdk启动服务器。

 

部署过程中的错误:

  error1.:ERROR (HostAndPort.java:107)- cant resolve localhost address

错误原因:linux服务器主机文件/etc/hosts中没有添加当前服务器主机。

解决方法:1.查看Linux系统的主机名

[[email protected] conf]# hostname

JD3

[[email protected] conf]#

2.查看/etc/hosts文件中是否有127.0.0.1对应主机名,如果没有则添加 JD3

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 JD3
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

error2:2020-04-14 04:03:19,346 ERROR (RedirectingEurekaHttpClient.java:83)- Request execution error
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused (Connection refused)

钉钉小程序部署到Linux服务器上

这个问题找了好久,网上的答案差不多都是 spring cloud Eureka注册中心的问题,但是我还没有使用到spring cloud 所有断定不是网站说的这个服务注册的问题。

后面发现有个网友说启动服务老是加载一个默认的端口,因为没有配置application.yml文件,然后我使用的还是application.properties 资源文件的形式,在配置driverClassName的时候没有使用驼峰方法:原

spring.datasource.driver_class_name 后改成spring.datasource.driverClassName就成功了。

完了修改客户端的localhost ->服务器ip,发布版本,在钉钉小程序里添加安全域名ip。至此钉钉小程序demo的开发、部署、发布就此完成。