云计算自动化运维——SaltStack实现nginx自动编译安装

本实验是在上一个实验《云计算自动化运维——SaltStack详解》基础上进行的,已经配置好master及minion的环境,创建好默认数据配置目录。

附上一篇链接地址:云计算自动化运维——SaltStack详解

SaltStack下nginx自动安装部署

实验环境

主机名 ip 服务
server1 172.25.1.1 服务端 salt-master
server2 172.25.1.2 客户端 salt-minion
server3 172.25.1.3 客户端 salt-minion

实验
步骤一:在数据文件默认存放路径下编辑nginx安装编译文件

nginx-install:
  pkg.installed:    #安装包
    - pkgs:
      - gcc
      - pcre-devel
      - openssl-devel
      
  file.managed:   #文件复制
    - name: /mnt/nginx-1.16.1.tar.gz   #目标主机存放位置
    - source: salt://nginx/files/nginx-1.16.1.tar.gz  #来源

  cmd.run:   #运行模块
    - name: cd /mnt/ && tar zxf nginx-1.16.1.tar.gz && cd nginx-1.16.1 && sed -i.bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && ./configure --prefix=/usr/local/nginx --with-http_ssl_module &> /dev/null && make install &> /dev/null    #任务:进入指定路径、解压压缩包、修改gcc文件配置,轻量级安装、编译、安装
    - creates: /usr/local/nginx   #判断

在这里插入图片描述
步骤二:编写服务文件service.sls,调用安装文件,配置并运行服务

include:
  - nginx.install  #包含安装文件

/usr/local/nginx/conf/nginx.conf:
  file.managed:
    - source: salt://nginx/files/nginx.conf

nginx-service:
  file.managed:
    - name: /usr/lib/systemd/system/nginx.service
    - source: salt://nginx/files/nginx.service

  service.running:
    - name: nginx
    - reload: true
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
步骤三:在server3主机上运行install.sls文件安装nginx
生成配置文件/usr/local/nginx/conf/nginx.conf,供server1使用。
在这里插入图片描述
步骤四:创建files文件,将服务需要用到的配置文件拷贝进来,并编辑nginx.service文件

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

在这里插入图片描述
在这里插入图片描述
步骤五:运行service.sls文件

salt server2 state.sls nginx.service

在这里插入图片描述
步骤六:测试

在server2上查看进程:
在这里插入图片描述

发布了170 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CapejasmineY/article/details/103303605
今日推荐