1. 程式人生 > >saltstack之多節點nginx安裝配置

saltstack之多節點nginx安裝配置

saltstack 多節點 highstate nginx

多節點nginx安裝配置

定義多節點

cd /srv/salt

vim top.sls

base:
‘server4.lalala.com‘:
- nginx.install
‘server1.lalala.com‘:
- nginx.install

把要共享的文件放在指定目錄

[[email protected] files]# pwd

/srv/salt/nginx/files

[[email protected] files]# ls n

ginx-1.10.1.tar.gz

vim /srv/salt/nginx/install.sls

nginx-install:
pkg.installed: #安裝包的依賴性
- pkgs:
- gcc
- pcre-devel
- openssl-devel
file.managed:
- name: /mnt/nginx-1.10.1.tar.gz #安裝在客戶端的位置
- source: salt://nginx/files/nginx-1.10.1.tar.gz #服務器共享文件的位置
cmd.run:
- name: cd /mnt;tar zxf nginx-1.10.1.tar.gz;cd nginx-1.10.1;./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads &> /dev/null && make &> /dev/null && make install &> /dev/null

高級狀態的執行(多節點)

[[email protected] nginx]# salt ‘‘ state.highstate test=True

[[email protected] nginx]# salt ‘‘ state.highstate

vim install.sls

include:
- pkg.install
- user.nginx

nginx-source:
file.managed:
- name: /mnt/nginx-1.10.1.tar.gz
- source: salt://nginx/files/nginx-1.10.1.tar.gz

nginx-install:
cmd.run:
- name: cd /mnt;tar zxf nginx-1.10.1.tar.gz;cd nginx-1.10.1;./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads &> /dev/null && make &> /dev/null && make install &> /dev/null
- creates: /usr/local/nginx
- require:
- pkg: pkg-install
- file: nginx-source
- user: nginx-user

vim service.sls

 include: 
- nginx.install

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

nginx-init:
file.managed:
- name: /etc/init.d/nginx
- source: salt://nginx/files/nginx
- mode: 755
cmd.run:
- name: chkconfig --add nginx
- unless: chkconfig --list nginx #如果不存在,就執行以上語句
- require:
- file: nginx-init
service.running:
- name: nginx
- enable: True
- reload: True
- watch:
- file: nginx-config

需要推給客戶端信息

[[email protected] files]# ls nginx nginx-1.10.1.tar.gz nginx.conf [[email protected] files]#

編輯啟動腳本

vim nginx

 36 nginx=${NGINX-/usr/local/nginx/sbin/nginx}
37 prog=`/bin/basename $nginx`
38 conffile=${CONFFILE-/usr/local/nginx/conf/nginx.conf}
39 lockfile=${LOCKFILE-/var/lock/subsys/nginx}
40 pidfile=${PIDFILE-/usr/local/nginx/logs/nginx.pid}

編輯主配置文件

vim nginx.conf

user  nginx nginx;
listen 8000;

檢測


[[email protected] files]# salt ‘*‘ state.sls nginx.service

可以看到,1,3主機 的8000端口,被打開被nginx占用

[[email protected] files]# lsof -i :4505 -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
salt-mast 2339 root 16u IPv4 14683 0t0 TCP *:4505 (LISTEN)
salt-mast 2339 root 18u IPv4 53804 0t0 TCP 172.25.88.3:4505->172.25.88.1:49253 (ESTABLISHED)
salt-mast 2339 root 19u IPv4 37637 0t0 TCP 172.25.88.3:4505->172.25.88.4:59132 (ESTABLISHED)

消息隊列,長連接方式,一直保持established,不用請求和回復,所以快

kafka zeromq rabbitmq

req系統 4506 請求響應



本文出自 “12049878” 博客,謝絕轉載!

saltstack之多節點nginx安裝配置