saltstack:源码编译安装nginx,一键部署负载均衡

源码编译安装nginx

1、在master端

mkdir /srv/salt/nginx/files -p
将nginx的源码包放入files目录
编写源码编译安装脚本:
cd /srv/salt/nginx
vim  install.sls
nginx-install:
  # 安装源码编译nginx所需要的依赖
  pkg.installed:
    - pkgs:
      - gcc
      - pcre-devel
      - openssl-devel

  file.managed:
    - name: /opt/nginx-1.10.1.tar.gz     # 将源码包推送至minion端后的存放位置
    - source: salt://nginx/files/nginx-1.10.1.tar.gz      # 源码包的来源(在master端的位置)

  cmd.run:
  	# 源码编译开始之前的操作,隐藏nginx版本号等,随后进行源码编译安装
    - name: cd /opt && tar zxf nginx-1.10.1.tar.gz && cd nginx-1.10.1 && sed -i .
bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/g' auto/cc/gcc && sed -i .bak 's/#define NGINX_VER  "nginx\/" NGINX_VERSION/#define NGINX_VER   "nginx"/g' src/cor
e/nginx.h && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-
http_stub_status_module --with-threads --with-file-aio &>/dev/null && make >/dev/null && make install >/dev/null
    # 如果minion端没有这个目录,则创建出来
    - creates: /usr/local/nginx

2、使用salt执行脚本
为了方便以及后面的负载均衡集群需要我们向server3中安装nginx
salt server3 state.sls nginx.install
在这里插入图片描述
3、在server3中查看安装情况
在这里插入图片描述
4、salt自动重新加载nginx的配置文件
a、编辑自动建立nginx用户的sls文件:

mkdir /srv/salt/users
vim nginx.sls
nginx-group:
  group.present:
    - name: nginx
    - gid: 800

nginx-user:
  user.present:
    - name: nginx
    - uid: 800
    - gid: 800
    - shell: /sbin/nologin
    - createhome: False
    - home: /usr/local/nginx

b、编辑自动加载nginx配置文件的脚本

cd /srv/salt/nginx
vim service.sls
include:
  - users.nginx       # 调用nginx的建立用户
  - nginx.install     # 调用nginx的安装

/usr/local/nginx/conf/nginx.conf:
  file.managed:
    - source: salt://nginx/files/nginx.conf   # 将server3中的nginx.conf文件拷贝至master中

nginx-service:
  file.managed:
    - name: /etc/init.d/nginx
    - source: salt://nginx/files/nginx  # 编写nginx启动脚本,放在/srv/salt/nginx/files目录中
    - mode: 755
  service.running:
    - name: nginx
    - reload: True
    - watch:
      - file: /usr/local/nginx/conf/nginx.conf

c、执行service.sls脚本
在这里插入图片描述
6、在server3中查看nginx用户是否创建、是否可以通过/etc/init.d/nginx控制nginx服务
在这里插入图片描述

salt一键部署负载均衡

1、在master端安装salt-minion,使server1也作为一个minion,并接收server-minion的公钥
在这里插入图片描述
2、在/srv/salt目录下创建haproxy目录,编写haproxy的安装脚本

mkdir /srv/salt/haproxy
cd /srv/salt/haproxy
vim install.sls
haproxy-install:
  file.managed:
    - name: /mnt/haproxy-1.4.24-1.x86_64.rpm
    - source: salt://haproxy/files/haproxy-1.4.24-1.x86_64.rpm
  cmd.run:
    - name: yum install -y /mnt/haproxy-1.4.24-1.x86_64.rpm
    - unless: rpm -q haproxy
/usr/share/haproxy:
  file.directory:
    - mode: 755

3、编辑自动配置负载均衡脚本:

cd  /srv/salt/haproxy
vim service.sls
include:
  - haproxy.install              # 调用haproxy安装脚本,安装haproxy
haproxy-service:
  file.managed:
    - name: /etc/haproxy/haproxy.cfg
    - source: salt://haproxy/files/haproxy.cfg             # 配置负载均衡
  service.running:
    - name: haproxy
    - enable: true
    - reload: true
    - watch:
      - file: haproxy-service

4、将haproxy配置文件haproxy.cfg放入/srv/salt/haproxy/files中,并配置好负载均衡机制

vim /srv/salt/haproxy/files/haproxy.cfg
在最后写入:
frontend main *:80
	default_backend		app
backend app
	balance		roundrobin
	server	app1	172.25.66.2:8080	check
	server	app2	172.25.66.3:80	check

5、在/srv/salt/目录下编辑top.sls脚本,用来一键部署负载均衡,即在server1上部署haproxy,在server2上部署http,在server3上部署nginx

vim /srv/salt/top.sls
base:
  'server1':
    - haproxy.service        # 调用haproxy的部署脚本
  'server2':
    - httpd.apache           # 调用apache的部署脚本
  'server3':
    - nginx.service          # 调用nginx的部署脚本

6、使用salt一键推送
**salt ‘*’ state.highstate **
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、在浏览器中访问www.westos.org会出现负载均衡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以给你提供一些有用的参考资料,来帮助你部署Nginx: 1. Nginx官方文档,可以提供有关安装和配置的步骤; 2. 在Github上有一些Nginx脚本,可以帮助你自动化部署; 3. 在StackOverflow上也有很多有关Nginx部署的问答,可以帮助你解决各种问题。 ### 回答2: Nginx部署脚本是一个自动化工具,用于简化Nginx服务器的安装和配置过程。这个脚本可以帮助用户快速搭建一个功能强大的web服务器,提供高性能和可靠性。 使用Nginx部署脚本的好处有以下几点: 1. 简化安装过程:传统上,安装Nginx需要手动下载、解压、编译和配置。而使用一部署脚本可以自动完成这些步骤,大大简化了安装过程,减少了出错的可能性。 2. 快速配置:一部署脚本会提供一些默认的配置选项,用户只需选择一些基本配置,比如端口号、网站根目录等,就可以快速配置Nginx服务器。 3. 自动更新与管理:一部署脚本还可以自动检测Nginx的更新,如果有新版本可用,脚本会自动下载和安装更新。此外,它还提供了管理命令,如启动、停止和重启Nginx服务器。 4. 安全性和稳定性:脚本会按照最佳实践配置Nginx,包括限制访问权限、启用SSL/TLS加密等功能,提高服务器的安全性。同时,Nginx本身就以其高性能和稳定性而闻名,使用这个脚本可以确保服务器的运行质量。 总而言之,Nginx部署脚本是一个方便、快捷、安全且可靠的工具,帮助用户快速搭建和管理Nginx服务器。无论是个人开发者还是企业级应用,都可以受益于这个脚本提供的便利和功能。 ### 回答3: nginx部署脚本是一个方便快捷地安装和配置nginx的工具。它可以帮助我们简化nginx服务器安装的流程,降低了操作难度和时间成本。 一部署脚本通常包含了以下几个步骤: 1. 检查系统环境:脚本会自动检测操作系统的版本和架构,确保安装nginx适配当前系统环境。 2. 下载nginx安装包:脚本会自动从官方网站或指定镜像站点下载最新的nginx安装包。 3. 安装nginx:脚本会解压nginx安装包并进行相应的依赖库检查和安装,保证nginx正常运行所需的环境和软件。 4. 配置nginx:脚本会根据用户的需求自动创建默认配置文件,并可以根据具体情况进行修改和定制化设置。 5. 启动nginx安装完成后,脚本会自动启动nginx服务,并开启自启动功能,确保nginx在系统重启后可以自动运行。 6. 检查nginx状态:脚本会检查nginx的运行状态,并输出相关信息,以便用户确认nginx是否成功安装和启动。 通过使用nginx部署脚本,我们可以快速搭建一个稳定、安全的nginx服务器,为网站和应用程序提供高性能的HTTP和反向代理服务。无论是个人开发者还是企业组织,都可以受益于这样的脚本,提高系统部署的效率和质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值