ansible 搭建

搭建ansible
一、 安装
yum - y install ansible
二、 创建ansible工作目录
mkdir myansi
cd myansi
三、 创建配置文件
vim ansible.cfg
[defaults]
inventory = hosts
remote_user = root
四、 声明被管理主机
vim hosts
[dbservers]
node1.tedu.cn
[webservers]
node2.tedu.cn
node3.tedu.cn
五、 配置名称解析
vim /etc/hosts
192.168.4.1 node1.tedu.cn node1
192.168.4.2 node2.tedu.cn node2
192.168.4.3 node3.tedu.cn node3
六、 添加远程主机密钥到信任列表
ssh-keyscan 192.168.4.{1…3} node{1…3}.tedu.cn node{1…3} >> /root/.ssh/known_hosts
七、 测试
ansible all -m ping -k

语法:Yaml语法

进入工作目录,配置vim
#vim /root/.vimrc
autocmd FileType yaml setlocal sw=2 ts=2 et ai

查看模块列表
#ansible-doc -l

查看模块帮助
#ansible-doc yum

创建playbook
#vim XXXXX.yml

检查语法
#Ansible-playbook --syntax-check XXXXX.yml

执行
Ansible-playbook XXXXX.yml

要使用 Ansible 搭建商城,需要先了解商城的基本架构和组成部分。一般来说,一个商城包括前端、后端、数据库、缓存、负载均衡等组件。在 Ansible 中,可以通过编写 Playbook 来自动化部署这些组件。 下面是一个简单的 Ansible Playbook 示例,可以用于搭建一个基本的商城环境: ```yaml - hosts: web_servers become: yes vars: app_name: my_shop db_name: my_shop_db db_user: my_shop_user db_password: my_shop_password redis_port: 6379 tasks: - name: Install required packages apt: name: "{{ item }}" state: present with_items: - nginx - python-pip - python-dev - build-essential - libmysqlclient-dev - redis-server - name: Configure nginx template: src: nginx.conf.j2 dest: /etc/nginx/sites-available/{{ app_name }} notify: restart nginx - name: Create MySQL database mysql_db: name: "{{ db_name }}" state: present - name: Create MySQL user mysql_user: name: "{{ db_user }}" password: "{{ db_password }}" priv: "{{ db_name }}.*:ALL" state: present - name: Configure Django settings template: src: django_settings.py.j2 dest: /opt/{{ app_name }}/{{ app_name }}/settings.py - name: Install Python requirements pip: requirements: /opt/{{ app_name }}/requirements.txt - name: Start Gunicorn command: /opt/{{ app_name }}/venv/bin/gunicorn {{ app_name }}.wsgi:application --bind 127.0.0.1:8000 --workers 3 async: true - name: Configure Redis lineinfile: path: /etc/redis/redis.conf regexp: "^port" line: "port {{ redis_port }}" notify: restart redis - hosts: db_servers become: yes vars: db_name: my_shop_db db_user: my_shop_user db_password: my_shop_password tasks: - name: Install MySQL server apt: name: mysql-server state: present - name: Configure MySQL template: src: my.cnf.j2 dest: /etc/mysql/my.cnf notify: restart mysql - name: Create MySQL database mysql_db: name: "{{ db_name }}" state: present - name: Create MySQL user mysql_user: name: "{{ db_user }}" password: "{{ db_password }}" priv: "{{ db_name }}.*:ALL" state: present ``` 在这个 Playbook 中,我们假设有两台服务器,一台用于部署 Web 服务器,另一台用于部署数据库服务器。首先,我们安装了需要的软件包,包括 Nginx、Python、MySQL 等。然后,我们配置了 Nginx 和 Django 的相关设置。接着,我们创建了 MySQL 数据库和用户,并将相关信息写入 Django 的配置文件中。最后,我们启动了 Gunicorn 应用服务器和 Redis 缓存服务器。 注意,在这个 Playbook 中,我们使用了一些模板文件,例如 nginx.conf.j2、django_settings.py.j2 和 my.cnf.j2。这些模板文件可以根据实际情况进行修改,以适应不同的商城环境。 当然,这只是一个简单的示例,实际的商城环境可能更加复杂。但是,通过 Ansible 的自动化部署能力,我们可以大大简化部署过程,减少出错的可能性,提高部署的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值