ansible实现编译部署nginx
2021/10/6 7:14:08
本文主要是介绍ansible实现编译部署nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用ansible编译部署nginx,通过template模板修改配置文件及创建虚拟机;
大概流程如下:
虚拟机端口号定义;预安装依赖包;用户 组 下载包 解压 编译 service文件拷贝;子配置文件夹创建;安装目录权限修改;模板主配置文件,更新触发重启;模板子配置文件,更新触发重启;index网页文件;handler重启;
需准备如下4个文件:
nginx.service index.html templates/nginx.conf.j2 templates/virtual_host.conf.j2
[root@17 ansible]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── index.html ├── install_nginx.yml ├── nginx.service ├── roles └── templates ├── nginx.conf.j2 └── virtual_host.conf.j2 2 directories, 7 files
playbook install_nginx.yml如下:
--- - hosts: webser remote_user: root gather_facts: yes vars: vhosts: - 81 - 88 tasks: - name: preinstall yum: name={{ item }} state=present with_items: - pcre - pcre-devel - openssl - openssl-devel - zlib - zlib-devel - gcc-c++ - name: create group group: name=nginx system=yes - name: create user user: name=nginx group=nginx shell=/sbin/nologin system=yes - name: download nginx's tarball get_url: url=http://nginx.org/download/nginx-1.18.0.tar.gz dest=/usr/local/src - name: unarchive tarball unarchive: remote_src=yes src=/usr/local/src/nginx-1.18.0.tar.gz dest=/usr/local/src #- name: install nginx # make: # chdir: /usr/local/src/nginx-1.18.0 # target: install # file: /etc/ansible/Makefile # params: # PREFIX: /data/nginx/ - name: install nginx shell: chdir=/usr/local/src/nginx-1.18.0 ./configure --prefix=/data/nginx;make; make install - name: create service file copy: src=nginx.service dest=/usr/lib/systemd/system/ notify: systemctl reload - name: create sub config dir file: name=/data/nginx/conf.d/ state=directory - name: chown /data/nginx file: path=/data/nginx owner=nginx group=nginx recurse=yes - name: use template nginx.conf.j2 for new main config and backup old config template: src=nginx.conf.j2 dest=/data/nginx/conf/nginx.conf backup=yes notify: restart nginx - name: use template virtual_host.conf.j2 to create virtualhost template: src=virtual_host.conf.j2 dest=/data/nginx/conf.d/virtual_host.conf notify: restart nginx - name: copy index.html copy: src=index.html dest=/data/nginx/html/index.html backup=yes handlers: - name: restart nginx service: name=nginx - name: systemctl reload shell: systemctl reload
结果测试如下:
[root@17 ansible]# curl 10.0.0.27 80 81 88 [root@17 ansible]# curl 10.0.0.27:81 80 81 88 [root@17 ansible]# curl 10.0.0.27:88 80 81 88
这篇关于ansible实现编译部署nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享