1、安装前分析
主要内容:
a、依赖包(使用yum安装);
b、源码包(pcre也使用源码安装、nginx源码包);
c、配置文件与启动脚本(使用file.managed模块方法分发到目标机相应目录);
d、使用cmd.run模块方法对源码包编译安装;
e、使用service.running模块方法,启动对应服务。
2、安装依赖
编译安装pcre
[root@localhostsalt]#pwd/srv/salt[root@localhostsalt]#catpcre.slspcre_install:file.managed:-name:/usr/local/src/pcre-8.30.tar.gz//文件目标分发的位置-source:salt://pcre-8.30.tar.gz//文件源头-user:root-group:root-mode:755cmd.run:-cwd:/usr/local/src//模板方法执行初始路径-name:tarxfpcre-8.30.tar.gz&&cdpcre-8.30&&./configure&&make&&makeinstall
安装其他依赖
[root@localhostsalt]#catinstall.slsnginx_yum:pkg.installed://yum安装-name:openssl-name:openssl-devel-name:pcre-name:pcre-devel-name:zlib-name:zlib-devel
3、nginx.sls状态文件全览
[root@localhostsalt]#pwd/srv/salt[root@localhostsalt]#catnginx.slsinclude://加载其他状态文件-install-pcrenginx_init:file.managed:-name:/etc/init.d/nginx//nginx启动叫脚本文件-source:salt://nginx-user:root-group:root-mode:755nginx.tar.gz_file:file.managed:-name:/usr/local/src/nginx-1.8.1.tar.gz//nginx安装包-source:salt://nginx-1.8.1.tar.gz-user:root-group:root-mode:755nginx_install:cmd.run:-name:cd/usr/local/src&&useradd-s/sbin/nologinnginx&&tarxfnginx-1.8.1.tar.gz&&cdnginx-1.8.1&&./configure--prefix=/usr/local/nginx--sbin-path=/usr/sbin/nginx--conf-path=/etc/nginx/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log--pid-path=/var/run/nginx/nginx.pid--lock-path=/var/lock/nginx.lock--user=nginx--group=nginx--with-http_ssl_module--with-http_flv_module--with-http_stub_status_module--with-http_gzip_static_module--http-client-body-temp-path=/var/tmp/nginx/client/--http-proxy-temp-path=/var/tmp/nginx/proxy/--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi--http-scgi-temp-path=/var/tmp/nginx/scgi--with-pcre&&make&&makeinstall&&ln-s/lib64/libpcre.so.0.0.1/lib64/libpcre.so.1-unless:test-d/usr/local/src/nginx-1.8.1.tar.gz//判断文件是否存在,存在方可执行service.running:-name:nginx-enable:True//启动nginx服务
4、补充
在master端执行安装任务时,我们可以使用-v选项查看到jid,也可以通过命令
salt '*' saltutil.running 查看到当前的job id
[root@localhostsalt]#salt'192.168.24.67'state.slsnginx-vExecutingjobwithjid0705132643772244-------------------------------------------
[root@localhost~]#salt'*'saltutil.running192.168.24.67:|_----------arg:-nginxfun:state.slsjid:0705132432763991pid:3712ret:tgt:192.168.24.67tgt_type:globuser:root
我们也可以使用如下命令结束一个job
[root@localhost~]#salt'*'saltutil.kill_job0705132432763991