- hosts: slav
remote_user: root
tasks:
- name: provide file
copy: src="/root/tmp/apache-tomcat-8.0.45.tar.gz" dest="/usr/local"
- name: tar tomcat
shell: cd /usr/local ;tar zxf apache-tomcat-8.0.45.tar.gz ;rm -rf apache-tomcat-8.0.45.tar.gz
- name: auto start
shell: /bin/echo "/usr/local/apache-tomcat-8.0.45/bin/startup.sh" >> /etc/rc.d/rc.local ;
- name: change mode
shell: chmod 777 /usr/local/apache-tomcat-8.0.45/bin
- name: set env
shell: /bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/catalina.sh ;/bin/echo {{ item }} >> /etc/profile ;/bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/startup.sh ;/bin/echo {{ item }} >> /etc/rc.d/rc.local ;/bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/setclasspath.sh ;/bin/echo {{ item }} >> /root/.bashrc ;/bin/echo {{ item }} >> /root/.bash_profile
with_items:
- export JAVA_HOME=/usr/local/jdk1.8.0_11
- export JRE_HOME=/usr/local/jdk1.8.0_11/jre
- export CLASSPATH=/usr/local/apache-tomcat-8.0.45/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.45/bin/tomcat-juli.jar
- export TOMCAT_HOME=/usr/local/apache-tomcat-8.0.45
- export CATALINA_HOME=/usr/local/apache-tomcat-8.0.45
- export CATALINA_BASE=/usr/local/apache-tomcat-8.0.45
- export CATALINA_TMPDIR=/usr/local/apache-tomcat-8.0.45/temp
- name: source start
shell: /bin/echo ". /etc/profile" >> /usr/local/apache-tomcat-8.0.45/bin/startup.sh ;/bin/echo ". /etc/profile" >> /usr/local/apache-tomcat-8.0.45/bin/catalina.sh
- name: source profile
shell: . /etc/profile
- name: start tomcat
shell: chdir=/usr/local/apache-tomcat-8.0.45/bin/ nohup ./startup.sh &
- name: open port
remote_user: root
tasks:
- name: provide file
copy: src="/root/tmp/apache-tomcat-8.0.45.tar.gz" dest="/usr/local"
- name: tar tomcat
shell: cd /usr/local ;tar zxf apache-tomcat-8.0.45.tar.gz ;rm -rf apache-tomcat-8.0.45.tar.gz
- name: auto start
shell: /bin/echo "/usr/local/apache-tomcat-8.0.45/bin/startup.sh" >> /etc/rc.d/rc.local ;
- name: change mode
shell: chmod 777 /usr/local/apache-tomcat-8.0.45/bin
- name: set env
shell: /bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/catalina.sh ;/bin/echo {{ item }} >> /etc/profile ;/bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/startup.sh ;/bin/echo {{ item }} >> /etc/rc.d/rc.local ;/bin/echo {{ item }} >> /usr/local/apache-tomcat-8.0.45/bin/setclasspath.sh ;/bin/echo {{ item }} >> /root/.bashrc ;/bin/echo {{ item }} >> /root/.bash_profile
with_items:
- export JAVA_HOME=/usr/local/jdk1.8.0_11
- export JRE_HOME=/usr/local/jdk1.8.0_11/jre
- export CLASSPATH=/usr/local/apache-tomcat-8.0.45/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.45/bin/tomcat-juli.jar
- export TOMCAT_HOME=/usr/local/apache-tomcat-8.0.45
- export CATALINA_HOME=/usr/local/apache-tomcat-8.0.45
- export CATALINA_BASE=/usr/local/apache-tomcat-8.0.45
- export CATALINA_TMPDIR=/usr/local/apache-tomcat-8.0.45/temp
- name: source start
shell: /bin/echo ". /etc/profile" >> /usr/local/apache-tomcat-8.0.45/bin/startup.sh ;/bin/echo ". /etc/profile" >> /usr/local/apache-tomcat-8.0.45/bin/catalina.sh
- name: source profile
shell: . /etc/profile
- name: start tomcat
shell: chdir=/usr/local/apache-tomcat-8.0.45/bin/ nohup ./startup.sh &
- name: open port
shell: firewall-cmd --zone=public --add-port=8080/tcp --permanent ;firewall-cmd --reload
有2处要注意, ansible部署完之后会发现一直无法通过自动化启动tomcat, 这是要将环境变量添加到系统文件 /root/.bashrc 与/root/.bash_profile。 文档还可以稍做简化,自行处理