• 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  

  • 相关阅读:
    tomcat的HTTPS
    java websocket开发的客户端程序
    Java后端WebSocket的Tomcat实现
    java 注解
    工作队列
    中断共享(硬件角度)
    电平触发与边沿触发中断的理解
    kuser_cmpxchg_check 原子操作
    新建普通进程
    fork 至 “sys_clone" SyS_clone
  • 原文地址:https://www.cnblogs.com/xhzd/p/11929457.html
Copyright © 2020-2023  润新知