springboot service init.d 正确部署方式;service 导致编码异常 InvalidPathException

一、操作系统CentOS7 或ubuntu LTS 18.04

  上传jar包,修改权限。    

[test@localhost software]$ pwd
/var/software
[test@localhost software]$ ll   
-rwxr--r-- 1 test test  144318229 Nov 25 11:52 myspringboot-app-1.2.jar  

## 修改权限
chmod 744 /var/software/myspringboot-app-1.2.jar      

 二、在/etc/init.d/ 下,建立service文件,软连接到jar包目录

[test@localhost init.d]$ pwd
/etc/init.d
 执行: sudo ln -s  /var/software/myspringboot-app-1.2.jar myapp
[test@localhost init.d]$ ll
lrwxrwxrwx 1 root root 35 May 14 2019 myapp -> /var/software/myspringboot-app-1.2.jar

 #通过 sudo,我们能把某些超级权限有针对性的下放 

sudo /etc/init.d/myapp start  ## 启动程序   restart | stop  ## 一定要加sudo,/etc/init.d/myapp,才能够保证 【三】注意和说明事项的正确性;
tail -f /var/log/myapp.log   ## 查看日志

【至此springboot 项目部署完毕;】 应用程序内部是以test用户运行的.java ${use.home} 为 /home/test

三、注意和说明

问题A
   java程序读取home目录 需要为当前用户的目录
         目的:${user.home}=/home/test  ;必须加sudo

问题B
  两种运行方式启动程序  java  System.getProperty("file.encoding")  结果
  sudo /etc/init.d/myapp  start      encoding:UTF-8
  sudo  service myapp  start          encoding:ANSI_X3.4-1968
  显然必须使用第一种命令。

问题C
   B中  sudo  service myapp  start   的编码格式 encoding:ANSI_X3.4-1968 会导致中文乱码;中文文件名创建异常: 
 java.nio.file.InvalidPathException:Malformed input or input contains unmappable characters:/home/test/app/images/???_495182728904310784_yy.com.jpg
  
  

  

参考

https://stackoverflow.com/questions/4398540/unicodeencodeerror-when-saving-imagefield-containing-non-ascii-characters-in-dja

https://www.cnblogs.com/bodhitree/p/6018369.html  

 

 

posted @ 2019-11-25 18:21  星回中道  阅读(1202)  评论(0编辑  收藏  举报