saltstack 의 다 중 노드 nginx 설치 설정

다 중 노드 nginx 설치 설정
다 중 노드 정의
cd /srv/salt 
vim top.sls
base:
 'server4.lalala.com':
   - nginx.install
 'server1.lalala.com':
   - nginx.install

공유 할 파일 을 지정 한 디 렉 터 리 에 두 기
[root@server3 files]# pwd 
/srv/salt/nginx/files 
[root@server3 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

고급 상태의 실행 (다 중 노드)
[root@server13 nginx]# salt '' state.highstate test=True
 [root@server13 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

클 라 이언 트 정보 전송 필요
[root@server13 files]# ls nginx nginx-1.10.1.tar.gz nginx.conf [root@server13 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;

검출
[root@server3 files]# salt '*' state.sls nginx.service
1, 3 호스트 의 8000 포트 가 열 려 nginx 에 의 해 점용 되 는 것 을 볼 수 있 습 니 다.
[root@server3 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 요청 응답

좋은 웹페이지 즐겨찾기