SaltStack实现nginx自动编译安装

SaltStack下nginx自动安装部署

实验环境

主机名ip服务
server1172.25.1.1服务端 salt-master
server2172.25.1.2客户端 salt-minion
server3172.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使用。

salt server3 state.sls install

步骤四:创建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上查看进程:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SaltStack是一个用于自动化配置管理和远程执行任务的开源工具。它使用Python编写,可以帮助管理员轻松地管理大规模的服务器基础架构。 要编译安装Nginx并使用SaltStack进行配置管理,可以按照以下步骤进行操作: 1. 在Salt Master节点上安装SaltStack:根据操作系统的不同,可以使用适当的包管理器安装SaltStack。例如,在Ubuntu上可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install salt-master ``` 2. 在Salt Minion节点上安装SaltStack:同样,在Minion节点上也需要安装SaltStack。可以使用以下命令在Minion节点上安装: ``` sudo apt-get update sudo apt-get install salt-minion ``` 3. 配置Salt Master和Minion:在Master节点上编辑`/etc/salt/master`文件,将Minion节点的IP地址添加到`/etc/salt/minion`文件中。 4. 启动SaltStack服务:在Master节点上启动SaltStack服务: ``` sudo systemctl start salt-master ``` 5. 在Minion节点上启动SaltStack服务: ``` sudo systemctl start salt-minion ``` 6. 创建SaltStack配置文件:在Master节点上创建一个名为`nginx.sls`的配置文件,用于定义Nginx安装和配置信息。示例配置如下: ``` nginx: pkg.installed /etc/nginx/nginx.conf: file.managed: - source: salt://nginx/nginx.conf - user: root - group: root - mode: 644 service.running: - name: nginx - enable: True ``` 7. 创建Nginx配置文件:在Master节点上创建一个名为`nginx.conf`的Nginx配置文件,并将其放置在`/srv/salt/nginx/`目录下。 8. 应用配置:在Master节点上运行以下命令,将配置应用到Minion节点: ``` sudo salt '*' state.apply nginx ``` 以上步骤将使用SaltStack自动化工具来编译安装Nginx并进行配置管理。请确保在执行这些步骤之前,已经正确设置了Salt Master和Minion节点,并且可以相互通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值