ansibie的安装 |Ansible 在CentOS7上批量部署JDK、Tomcat、jenkins和Nginx

ansibie的安装 |Ansible 在CentOS7上批量部署JDK、Tomcat、jenkins和Nginx

写文不易 给我点点关注 和点点赞 点点收藏吧

    主页 :

-================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================

    注意:本文章为.md格式 csdn这边.md用的不太熟练哈哈

    全篇粘会乱码 注意一段段的粘到自己的笔记里面  去研究

环境准备

  1. 目标服务器准备:确保您拥有一台或多台 CentOS 7 服务器,并确保它们已安装了Ansible并配置了SSH无密码登录。

  2. Ansible 控制节点准备:安装Ansible:

sudo yum install -y epel-release
sudo yum install -y ansible

创建 Ansible 剧本:

  1. 创建项目结构:
mkdir -p ansible-deploy/{roles/{jdk,tomcat,jenkins,nginx},playbooks,inventory}
  1. 创建 inventory 文件:

编辑 inventory/hosts 文件,添加目标服务器 IP 地址:

[webservers]
your_server_ip
  1. 编写 jdk 角色:
    [root@localhost ansible-deploy]# mkdir roles/jdk/tasks
    在 vim roles/jdk/tasks/main.yml 中添加以下内容:

  • name: 安装 JDK
    yum:
    name: java-1.8.0-openjdk-devel
    state: present
  1. 编写 tomcat 角色:
    mkdir roles/tomcat/tasks
    在 roles/tomcat/tasks/main.yml 中添加以下内容:

  • name: 下载 Tomcat
    get_url:
    url: https://downloads.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
    dest: /tmp/apache-tomcat-9.0.54.tar.gz
  • name: 解压 Tomcat
    unarchive:
    src: /tmp/apache-tomcat-9.0.54.tar.gz
    dest: /opt/
    remote_src: yes
  • name: 创建 symbolic link for tomcat
    file:
    src: /opt/apache-tomcat-9.0.54
    dest: /opt/tomcat
    state: link
  • name: 启动 Tomcat
    command: /opt/tomcat/bin/startup.sh
  1. 编写 jenkins 角色:
    mkdir roles/jenkins/tasks
    在 roles/jenkins/tasks/main.yml 中添加以下内容:

  • name: 添加 Jenkins repo
    yum_repository:
    name: jenkins
    description: Jenkins
    baseurl: http://pkg.jenkins.io/redhat-stable/
    gpgcheck: yes
    gpgkey: http://pkg.jenkins.io/redhat-stable/jenkins.io.key
  • name: 安装 Jenkins
    yum:
    name: jenkins
    state: present
  • name: 启动 Jenkins 服务
    service:
    name: jenkins
    state: started
    enabled: yes
  1. 编写 nginx 角色:
    mkdir roles/nginx/tasks
    在 roles/nginx/tasks/main.yml 中添加以下内容:

  • name: 安装 Nginx
    yum:
    name: nginx
    state: present
  • name: 启动 Nginx 服务
    service:
    name: nginx
    state: started
    enabled: yes
  • name: 配置 Nginx for Jenkins
    template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
    notify:
    • restart nginx
  • name: 确保 firewall 配置了 HTTP 和 HTTPS
    firewalld:
    service: “”
    permanent: yes
    state: enabled
    with_items:
    • http
    • https
  • name: 重载 firewalld
    command: firewall-cmd --reload
  1. 创建 Nginx 模板文件:
    mkdir roles/nginx/templates
    在 roles/nginx/templates/nginx.conf.j2 中创建 Nginx 配置文件模板:
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream jenkins {
        server 127.0.0.1:8080;  # Jenkins 默认运行在 8080 端口
    }

    server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass http://jenkins;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

编写主要的 Playbook:
在 playbooks/deploy.yml 中编写主要的 Playbook:

  • hosts: webservers
    become: yes

    roles:

    • java-1.8.0-openjdk-devel
    • tomcat
    • jenkins
    • nginx

执行 Playbook:切换到 playbooks 目录并运行以下命令:

[root@localhost ansible]# mv ansible-deploy roles/ansible-deploy
[root@localhost ansible]# ls
ansible.cfg hosts playbook roles
[root@localhost ansible]# cd roles/
[root@localhost roles]# ls
ansible-deploy  nginx  site.yml  test.yaml
[root@localhost roles]# cd ansible-deploy/playbooks/

ansible-playbook -i ../inventory/hosts deploy.yml

验证:部署完成后,打开浏览器,访问Nginx服务器的IP地址,你应该能够通过 Nginx 访问到 Jenkins 的 Web 界面。

写文不易 给我点点关注 和点点赞 点点收藏吧

    主页 :

-================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================

    注意:本文章为.md格式 csdn这边.md用的不太熟练哈哈

    全篇粘会乱码 注意一段段的粘到自己的笔记里面  去研究
[专栏名]( 待补充       )
 
[专栏名](  ( 待补充    )
 
[专栏名]( 待补充       )
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三分云计算

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值