天天看點

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