当前位置: 首页 > article >正文

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用的不太熟练哈哈

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

http://www.kler.cn/news/358570.html

相关文章:

  • 028 elasticsearch索引管理-ElasticsearchRestTemplate
  • 水下侧扫声呐图像数据集,沉船,1.13G。声纳数据集 水下声纳数据集 水下图像声纳数据集
  • C#基于SkiaSharp实现印章管理(11)
  • 【力扣 | SQL题 | 每日3题】力扣1990, 2020, 2051
  • 基于Python实现“吾爱海洋”论坛自动签到
  • HCIE-Datacom题库_10_网络协议【13道题】
  • 分布式锁实现细节:使用Redisson进行并发控制
  • Java Spring的高级装配
  • [OpenGL]使用OpenGL实现Phong、Blinn-Phong模型
  • 深入探讨C++多线程性能优化
  • Day09-数据库服务备份恢复
  • python实战(一)——iris鸢尾花数据集分类
  • 蜜罐技术的出现究竟影响了什么
  • Android GPU Inspector分析帧数据快速入门
  • zh/FAQ/CentOSStream-CentOS Stream 常见问题
  • 探索 JavaScript 中的 AbortController API:不仅仅是中断 HTTP 请求
  • 多特征变量序列预测(一)——CNN-LSTM风速预测模型
  • 搭建一个vue3+vite框架
  • Redis-2
  • word中高亮标题、正文、表格、图表标题不同颜色用于批量排版