天天看点

ansible启动java应用

1、在远端机器上添加环境变量(强烈要求以后都将java/nginx/mvn等环境变量写入~/.bashrc ,然后source一下~/.bash_profile)

$ vim ~/.bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_101
export PATH=/usr/java/jdk1.8.0_101/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
export CLASSPATH=.:/usr/java/jdk1.8.0_101/lib/dt.jar:/usr/java/jdk1.8.0_101/lib/tools.jar
$ source ~/.bash_profile
           

通过ansible批量添加命令

$ ansible -i hosts Zhanjian_Cms_Publish -m blockinfile -a 'path=~/.bashrc block="export JAVA_HOME=/usr/java/jdk1.8.0_101\nexport PATH=/usr/java/jdk1.8.0_101/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin\nexport CLASSPATH=.:/usr/java/jdk1.8.0_101/lib/dt.jar:/usr/java/jdk1.8.0_101/lib/tools.jar" create=yes'
$ ansible -i hosts Zhanjian_Cms_Publish -m shell -a 'source ~/.bash_profile'
           

2、ansible远程调用startup.sh启动tomcat,启动不生效。

解决方法:

ansible调用shell脚本启动tomcat需要加上nohup…&

- name: start the tomcat
  shell:
    cmd: "nohup {{ tomcat_publish_dir}}/bin/startup.sh &"
  register: start_tomcat_ret