ansibie的安装 |Ansible 在CentOS7上批量部署JDK、Tomcat、jenkins和Nginx
ansibie的安装 |Ansible 在CentOS7上批量部署JDK、Tomcat、jenkins和Nginx
写文不易 给我点点关注 和点点赞 点点收藏吧
主页 :
-================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
=================三分云计算============================
注意:本文章为.md格式 csdn这边.md用的不太熟练哈哈
全篇粘会乱码 注意一段段的粘到自己的笔记里面 去研究
环境准备
-
目标服务器准备:确保您拥有一台或多台 CentOS 7 服务器,并确保它们已安装了Ansible并配置了SSH无密码登录。
-
Ansible 控制节点准备:安装Ansible:
sudo yum install -y epel-release
sudo yum install -y ansible
创建 Ansible 剧本:
- 创建项目结构:
mkdir -p ansible-deploy/{roles/{jdk,tomcat,jenkins,nginx},playbooks,inventory}
- 创建 inventory 文件:
编辑 inventory/hosts 文件,添加目标服务器 IP 地址:
[webservers]
your_server_ip
- 编写 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
- 编写 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
- 编写 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
- 编写 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
- 创建 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: yesroles:
- 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用的不太熟练哈哈
全篇粘会乱码 注意一段段的粘到自己的笔记里面 去研究
[专栏名]( 待补充 )
[专栏名]( ( 待补充 )
[专栏名]( 待补充 )