昨天跟着网上的教程安装Nginx,@#¥!!…&%¥# 。结果到最后还是自己动手丰衣足食
先来看安装的结构:
├── nginx
│ ├── install.sls
│ └── pkg
│ └── pkg-init.sls
└── top.sls
top.sls可以不使用
由于在top文件下必须要的是base环境,我们这次用到的是nginx环境。
现在master配置文件上配好nginx环境,这一步是在master配置文件上告诉master,nginx环境的路径,
vim /etc/salt/master
file_roots:
nginx:
- /srv/salt/nginx
修改完,记得要重启salt-master
初始化环境
安装nginx前有些东西要先安装的,事实上,安装很多东西前都有些依赖的东西要先安装,这次我们放到pkg目录下的pkg-init.sls这个下面:
$ vim pkg/pkg-init.sls
pkg-init:
pkg.installed:
- names:
- gcc
- gcc-c++
- glibc
- make
- autoconf
- openssl
- openssl-devel
初始化环境后,我们就需要进行系一部操作了,进行对nginx的源码安装。
安装Nginx
先在网上下载好nginx的源码包
http://nginx.org/en/download.html
下载好源码包后把源码包放到salt-minion的/srv/salt/nginx/files
目录下,(这步麻烦,下回写个直接传送的,不然机器多了会传崩溃)
然后进行nginx安装:
vim install.sls
首先要包含进来刚才环境变量初始化,
include :
- pkg.pkg-init
这样再安装nginx前会先安装pkg-init的系统变量。
nginx_install:
file.managed:
- name: /usr/local/nginx-1.12.1.tar.gz
- unless: test -e /usr/local/nginx-1.12.1.tar.gz
- source: salt://files/nginx-1.12.1.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/ && tar zxf nginx-1.12.1.tar.gz && cd nginx-1.12.1 && ./configure --prefix=/usr/local/nginx && make && make install
- unless: test -d /usr/local/nginx
- require:
- file: nginx_install
安装好后还要启动nginx吧,记得如果机器上有启动Apache的,记得先停掉,或者把nginx的配置端口改掉,不然肯定失败。
启动Nginx
nginx-start:
cmd.run:
- name: cd /usr/local/nginx/sbin && ./nginx
- unless: ps -ef| grep -v grep| grep nginx
- require:
- cmd: nginx_install
然后把机器的IP地址在浏览器上打开,可以看到显示Welcome to nginx啦。