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://www.cnblogs.com/bodhitree/p/6018369.html