• 使用 ansible 安装 NGINX


    官方文档:https://docs.ansible.com/ansible/latest/index.html
    1.修改主机名

    hostname master1 #192.168.67.11
    hostname master2 #192.168.67.12
    

    2.ssh-keygen做免密

    [root@master1 etc]# ssh-keygen -t rsa
    一路回车
    [root@master1 etc]# ssh-copy-id root@192.168.67.12
    

    3.添加域名解析

    [root@master1 etc]# cat <<EOF >> /etc/hosts
    192.168.67.11 master1
    192.168.67.12 master2
    EOF
    [root@master1 etc]# ssh root@192.168.67.12
    [root@master2 etc]# cat <<EOF >> /etc/hosts
    192.168.67.11 master1
    192.168.67.12 master2
    EOF
    

    yum安装epel源和ansible #参考官方安装文档:https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-rhel-centos-or-fedora

    [root@master1 etc]# yum install -yq epel-release && sudo yum install -yq ansible
    [root@master1 ansible-nginx]# ansible --version
    ansible 2.9.25
      config file = /etc/ansible/ansible.cfg
      configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/lib/python2.7/site-packages/ansible
      executable location = /usr/bin/ansible
      python version = 2.7.5 (default, Oct 14 2020, 14:45:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
    

    编写写安装nginx的yml文件 #参考示例:https://github.com/ansible/ansible/blob/stable-2.11/examples/ansible.cfg 示例:https://github.com/ansible/ansible-examples

    [root@master1 etc]# mkdir $HOME/ansible-nginx/tasks/
    [root@master1 etc]# cat <<EOF > $HOME/ansible-nginx/deploy.yml
    - hosts: nginx
      tasks:
        - include: 'tasks/install_nginx.yml'
    EOF
    [root@master1 etc]# cat <<EOF > $HOME/ansible-nginx/tasks/install_nginx.yml
    - name: NGINX | Installing NGINX repo rpm
      yum:
        name: http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    - name: NGINX | Installing NGINX
      yum:
        name: nginx
        state: latest
    - name: NGINX | Starting NGINX
      service:
        name: nginx
        state: started
    EOF
    [root@master1 etc]# mv /etc/ansible/hosts /etc/ansible/hosts.backup
    [root@master1 etc]# cat <<EOF > /etc/ansible/hosts
    [nginx]
    master2
    EOF
    

    Ansible 提示输入 SSH 密码,输出如下。recap 中显示 failed=0 这条信息,意味着部署成功了。

    [root@master1 etc]# ansible-playbook --ask-pass $HOME/ansible-nginx/deploy.yml
    SSH password: 
    
    PLAY [nginx] ************************************************************************************************************************
    
    TASK [Gathering Facts] **************************************************************************************************************
    ok: [master2]
    
    TASK [NGINX | Installing NGINX repo rpm] ********************************************************************************************
    changed: [master2]
    
    TASK [NGINX | Installing NGINX] *****************************************************************************************************
    changed: [master2]
    
    TASK [NGINX | Starting NGINX] *******************************************************************************************************
    changed: [master2]
    
    PLAY RECAP **************************************************************************************************************************
    master2                    : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
    
    

    查看效果

    [root@master2 kubelet]# ps -ef | grep nginx
    root      48337      1  0 15:04 ?        00:00:00 nginx: master process /usr/sbin/nginx
    nginx     48338  48337  0 15:04 ?        00:00:00 nginx: worker process
    nginx     48339  48337  0 15:04 ?        00:00:00 nginx: worker process
    nginx     48340  48337  0 15:04 ?        00:00:00 nginx: worker process
    nginx     48341  48337  0 15:04 ?        00:00:00 nginx: worker process
    root      48480  14520  0 15:05 pts/1    00:00:00 grep --color=auto nginx
    
  • 相关阅读:
    最全最新java面试题系列全家桶(带答案)
    [多平台]pymo – 手机上的 GalGame 引擎
    Hyperledger Fabric-sdk-java
    Nginx、OpenResty和Kong的基本概念与使用方法
    nginx代理 tomcat获得真实用户IP
    nodejs+gulp+webpack基础知识
    开始写下自己的python的cocos2d, pyglet学习
    机器学习算法GBDT的面试要点总结-上篇
    Python 最常见的 170 道面试题解析:2019 最新
    VCL消息处理机制
  • 原文地址:https://www.cnblogs.com/pengpengboshi/p/15548603.html
Copyright © 2020-2023  润新知