saltstack部署nginx
1、前期规划准备

成都创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!成都创新互联公司具备承接各种类型的网站制作、成都做网站项目的能力。经过十载的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。
nginx安装准备:
1)安装必要依赖
2)准备pcre安装包
2)源码安装pcre
3)准备nginx安装包
4)源码安装nginx
nginx配置:
1)拷贝nginx.conf配置文件
2)拷贝启停脚本
3)添加系统服务并设置开机启动
2、部署过程
1)准备安装包
[root@salt-master base]# cd /srv/salt/base [root@salt-master base]# mkdir -p pcre/files [root@salt-master base]# mkdir -p nginx/files [root@salt-master base]# cd /srv/salt/base/pcre/files [root@salt-master base]# wget https://ftp.pcre.org/pub/pcre/pcre-8.37.tar.gz [root@salt-master base]# cd /srv/salt/base/nginx/files [root@salt-master base]# wget http://nginx.org/download/nginx-1.6.3.tar.gz
2)编写sls文件
[root@salt-master base]# cd nginx/ [root@salt-master nginx]# vi install.sls [root@salt-master nginx]# vi service.sls [root@salt-master nginx]# cd ../pcre/ [root@salt-master pcre]# vi install.sls
3)测试sls
[root@salt-master base]# salt 'salt-minion01.contoso.com' state.sls nginx.service test=True
salt-minion01.contoso.com:
----------
ID: pcre-source-install
Function: pkg.installed
Name: zlib-devel
Result: None
Comment: The following packages are set to be installed/updated: zlib-devel
Started: 14:41:07.540210
Duration: 18297.782 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: glibc-devel
Result: True
Comment: Package glibc-devel is already installed.
Started: 14:41:25.838187
Duration: 0.536 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: gcc
Result: True
Comment: Package gcc is already installed.
Started: 14:41:25.838783
Duration: 0.294 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: cmake
Result: True
Comment: Package cmake is already installed.
Started: 14:41:25.839133
Duration: 0.241 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: glibc
Result: True
Comment: Package glibc is already installed.
Started: 14:41:25.839432
Duration: 0.241 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: zlib
Result: True
Comment: Package zlib is already installed.
Started: 14:41:25.839727
Duration: 0.305 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: autoconf
Result: None
Comment: The following packages are set to be installed/updated: autoconf
Started: 14:41:25.840087
Duration: 0.281 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: gcc-c++
Result: True
Comment: Package gcc-c++ is already installed.
Started: 14:41:25.840422
Duration: 0.239 ms
Changes:
----------
ID: pcre-source-install
Function: pkg.installed
Name: make
Result: True
Comment: Package make is already installed.
Started: 14:41:25.840709
Duration: 0.282 ms
Changes:
----------
ID: pcre-source-install
Function: file.managed
Name: /opt/tools/pcre-8.37.tar.gz
Result: None
Comment: The file /opt/tools/pcre-8.37.tar.gz is set to be changed
Started: 14:41:25.888753
Duration: 17.582 ms
Changes:
----------
newfile:
/opt/tools/pcre-8.37.tar.gz
----------
ID: pcre-source-install
Function: cmd.run
Name: cd /opt/tools/ && tar -zxf pcre-8.37.tar.gz && cd pcre-8.37 && ./configure --prefix=/usr/local/pcre && make && make install
Result: None
Comment: Command "cd /opt/tools/ && tar -zxf pcre-8.37.tar.gz && cd pcre-8.37 && ./configure --prefix=/usr/local/pcre && make && make install" would have been executed
Started: 14:41:25.910768
Duration: 10.909 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: zlib-devel
Result: None
Comment: The following packages are set to be installed/updated: zlib-devel
Started: 14:41:25.922254
Duration: 2.483 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: gcc
Result: True
Comment: Package gcc is already installed.
Started: 14:41:25.925010
Duration: 0.926 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: make
Result: True
Comment: Package make is already installed.
Started: 14:41:25.926183
Duration: 0.975 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: zlib
Result: True
Comment: Package zlib is already installed.
Started: 14:41:25.927407
Duration: 1.276 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: openssl
Result: True
Comment: Package openssl is already installed.
Started: 14:41:25.929287
Duration: 1.331 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: openssl-devel
Result: None
Comment: The following packages are set to be installed/updated: openssl-devel
Started: 14:41:25.930830
Duration: 1.027 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: automake
Result: None
Comment: The following packages are set to be installed/updated: automake
Started: 14:41:25.931943
Duration: 0.392 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: autoconf
Result: None
Comment: The following packages are set to be installed/updated: autoconf
Started: 14:41:25.932402
Duration: 0.385 ms
Changes:
----------
ID: nginx-source-install
Function: pkg.installed
Name: gcc-c++
Result: True
Comment: Package gcc-c++ is already installed.
Started: 14:41:25.932851
Duration: 0.33 ms
Changes:
----------
ID: nginx-source-install
Function: group.present
Name: nginx
Result: None
Comment: The following group attributes are set to be changed:
gid: 601
Started: 14:41:25.934673
Duration: 0.425 ms
Changes:
----------
ID: nginx-source-install
Function: user.present
Name: nginx
Result: None
Comment: The following user attributes are set to be changed:
homeDoesNotExist: /home/nginx
gid: 601
fullname: nginx
uid: 601
Started: 14:41:25.943129
Duration: 10.523 ms
Changes:
----------
ID: nginx-source-install
Function: file.managed
Name: /opt/tools/nginx-1.6.3.tar.gz
Result: None
Comment: The file /opt/tools/nginx-1.6.3.tar.gz is set to be changed
Started: 14:41:25.953761
Duration: 3.461 ms
Changes:
----------
newfile:
/opt/tools/nginx-1.6.3.tar.gz
----------
ID: nginx-source-install
Function: cmd.run
Name: cd /opt/tools/ && tar -zxf nginx-1.6.3.tar.gz && mkdir -p /usr/local/nginx/tmp/{client,proxy,fcgi} && cd nginx-1.6.3 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-poll_module --with-file-aio --with-http_realip_module --with-http_addition_module --with-http_addition_module --with-http_random_index_module --with-http_stub_status_module --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp --with-pcre=/opt/tools/pcre-8.37 && make && make install && chown -R nginx:nginx /usr/local/nginx/
Result: None
Comment: Command "cd /opt/tools/ && tar -zxf nginx-1.6.3.tar.gz && mkdir -p /usr/local/nginx/tmp/{client,proxy,fcgi} && cd nginx-1.6.3 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-poll_module --with-file-aio --with-http_realip_module --with-http_addition_module --with-http_addition_module --with-http_random_index_module --with-http_stub_status_module --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp --with-pcre=/opt/tools/pcre-8.37 && make && make install && chown -R nginx:nginx /usr/local/nginx/" would have been executed
Started: 14:41:25.958142
Duration: 4.665 ms
Changes:
----------
ID: nginx-init
Function: file.managed
Name: /etc/init.d/nginx
Result: None
Comment: The file /etc/init.d/nginx is set to be changed
Started: 14:41:25.963238
Duration: 3.005 ms
Changes:
----------
newfile:
/etc/init.d/nginx
----------
ID: nginx-init
Function: cmd.run
Name: chkconfig --add nginx
Result: None
Comment: Command "chkconfig --add nginx" would have been executed
Started: 14:41:25.966786
Duration: 293.959 ms
Changes:
----------
ID: /usr/local/nginx/conf/nginx.conf
Function: file.managed
Result: None
Comment: The file /usr/local/nginx/conf/nginx.conf is set to be changed
Started: 14:41:26.261344
Duration: 2.984 ms
Changes:
----------
newfile:
/usr/local/nginx/conf/nginx.conf
----------
ID: nginx-service
Function: file.directory
Name: /usr/local/nginx/conf.d
Result: None
Comment: The following files will be changed:
/usr/local/nginx/conf.d: directory - new
Started: 14:41:26.264670
Duration: 0.371 ms
Changes:
----------
ID: nginx-service
Function: service.running
Name: nginx
Result: None
Comment: Service is set to be started
Started: 14:41:26.286912
Duration: 53.579 ms
Changes:
Summary
-------------
Succeeded: 29 (unchanged=17, changed=4)
Failed: 0
-------------
Total states run: 294)正式部署
[root@salt-master base]# salt 'salt-minion01.contoso.com' state.sls nginx.service
5)sls代码
目录结构如下:
[root@salt-master salt]# tree /srv/salt/base/ /srv/salt/base/ ├── nginx │ ├── files │ │ ├── nginx │ │ ├── nginx-1.6.3.tar.gz │ │ └── nginx.conf │ ├── install.sls │ └── service.sls └── pcre ├── files │ └── pcre-8.37.tar.gz └── install.sls 4 directories, 7 files
pcre install.sls代码:
[root@salt-master base]# cat pcre/install.sls pcre-source-install: pkg.installed: - names: - gcc - gcc-c++ - autoconf - zlib - zlib-devel - glibc - glibc-devel - make - cmake file.managed: - source: salt://pcre/files/pcre-8.37.tar.gz - name: /opt/tools/pcre-8.37.tar.gz - user: root - group: root - mode: 755 - makedirs: True - dir_mode: 644 cmd.run: - name: cd /opt/tools/ && tar -zxf pcre-8.37.tar.gz && cd pcre-8.37 && ./configure --prefix=/usr/local/pcre && make && make install - unless: test -d /usr/local/pcre - require: - file: pcre-source-install
nginx install.sls代码:
[root@salt-master base]# cat nginx/install.sls
include:
- pcre.install
nginx-source-install:
pkg.installed:
- names:
- gcc
- gcc-c++
- autoconf
- automake
- zlib
- zlib-devel
- make
- openssl
- openssl-devel
group.present:
- name: nginx
- gid: 601
user.present:
- name: nginx
- fullname: nginx
- shell: /sbin/nologin
- uid: 601
- gid: 601
file.managed:
- source: salt://nginx/files/nginx-1.6.3.tar.gz
- name: /opt/tools/nginx-1.6.3.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /opt/tools/ && tar -zxf nginx-1.6.3.tar.gz && mkdir -p /usr/local/nginx/tmp/{client,proxy,fcgi} && cd nginx-1.6.3 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/tmp/client/ --http-proxy-temp-path=/usr/local/nginx/tmp/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi/ --with-poll_module --with-file-aio --with-http_realip_module --with-http_addition_module --with-http_addition_module --with-http_random_index_module --with-http_stub_status_module --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp --with-pcre=/opt/tools/pcre-8.37 && make && make install && chown -R nginx:nginx /usr/local/nginx/
- unless: test -e /usr/local/nginx/sbin/nginx
- require:
- file: nginx-source-install
- cmd: pcre-source-installnginx service.sls代码:
[root@salt-master base]# cat nginx/service.sls include: - nginx.install nginx-init: file.managed: - name: /etc/init.d/nginx - source: salt://nginx/files/nginx - user: root - group: root - mode: 755 cmd.run: - name: chkconfig --add nginx - unless: chkconfig --list|grep nginx - require: - file: nginx-init /usr/local/nginx/conf/nginx.conf: file.managed: - source: salt://nginx/files/nginx.conf - user: nginx - group: nginx - mode: 644 nginx-service: file.directory: - name: /usr/local/nginx/conf.d - require: - cmd: nginx-source-install service.running: - name: nginx - enable: True - reload: True - require: - cmd: nginx-init - watch: - file: /usr/local/nginx/conf/nginx.conf
3、部署结果验收
[root@salt-minion01 ~]# service nginx status nginx (pid 11406 11405 11404 11403 11400) is running... [root@salt-minion01 ~]# ps -ef|grep nginx root 11494 1 0 14:22 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf nginx 11496 11494 0 14:22 ? 00:00:00 nginx: worker process nginx 11497 11494 0 14:22 ? 00:00:00 nginx: worker process nginx 11498 11494 0 14:22 ? 00:00:00 nginx: worker process nginx 11499 11494 0 14:22 ? 00:00:00 nginx: worker process root 11503 1049 0 14:22 pts/0 00:00:00 grep nginx [root@salt-minion01 ~]# chkconfig --list|grep nginx nginx 0:off1:off2:on3:on4:on5:on6:off [root@salt-minion01 ~]# service nginx check Checking config file: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@salt-minion01 ~]# service nginx reload Reloading nginx: [ OK ] [root@salt-minion01 ~]# service nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ]
当前标题:saltstack部署nginx
网页链接:http://www.jxjierui.cn/article/gpiiph.html


咨询
建站咨询
