<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Saltstack_state%E5%AE%89%E8%A3%85nignx</id>
	<title>Saltstack state安装nignx - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Saltstack_state%E5%AE%89%E8%A3%85nignx"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Saltstack_state%E5%AE%89%E8%A3%85nignx&amp;action=history"/>
	<updated>2026-04-17T12:46:41Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Saltstack_state%E5%AE%89%E8%A3%85nignx&amp;diff=969&amp;oldid=prev</id>
		<title>Evan：​/* ins */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Saltstack_state%E5%AE%89%E8%A3%85nignx&amp;diff=969&amp;oldid=prev"/>
		<updated>2021-08-12T12:37:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;ins&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=ins=&lt;br /&gt;
[[Saltstack的配置管理salt.states]]&lt;br /&gt;
 注意  这个版本只是一个例子 还要优化才行 &lt;br /&gt;
 ip 192.168.88.60 ubuntu18.04&lt;br /&gt;
&lt;br /&gt;
 前提 已安装好 master minion &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
创建目录&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /srv/salt/prod/pcre/files/&lt;br /&gt;
 mkdir -p /srv/salt/prod/nginx/files/&lt;br /&gt;
&lt;br /&gt;
下载pcre和nginx源码包保存到各自的files目录下&lt;br /&gt;
root@myxps:/srv/salt/prod# ls  nginx/files/&lt;br /&gt;
 nginx-1.20.1.tar.gz  openssl-1.1.1k.tar.gz&lt;br /&gt;
&lt;br /&gt;
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.bz2&lt;br /&gt;
&lt;br /&gt;
root@myxps:/srv/salt/prod# ls  pcre/files/&lt;br /&gt;
pcre-8.42.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 编写pcre安装文件==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi  /srv/salt/prod/pcre/install.sls &lt;br /&gt;
pcre-source-install:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - name: /usr/local/src/pcre-8.42.tar.bz2&lt;br /&gt;
    - source: salt://pcre/files/pcre-8.42.tar.bz2&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 755&lt;br /&gt;
  cmd.run:&lt;br /&gt;
    - name: cd /usr/local/src &amp;amp;&amp;amp; tar xvf pcre-8.42.tar.bz2 &amp;amp;&amp;amp; cd pcre-8.42 &amp;amp;&amp;amp; ./configure --prefix=/usr/local/pcre &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
    - unless: test -d /usr/local/pcre&lt;br /&gt;
    - require:&lt;br /&gt;
      - file: pcre-source-install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 编写nginx安装文件==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi  /srv/salt/prod/pcre/install.sls &lt;br /&gt;
&lt;br /&gt;
pcre-source-install:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - name: /usr/local/src/pcre-8.42.tar.bz2&lt;br /&gt;
    - source: salt://pcre/files/pcre-8.42.tar.bz2&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 755&lt;br /&gt;
  cmd.run:&lt;br /&gt;
    - name: cd /usr/local/src &amp;amp;&amp;amp; tar xvf pcre-8.42.tar.bz2 &amp;amp;&amp;amp; cd pcre-8.42 &amp;amp;&amp;amp; ./configure --prefix=/usr/local/pcre &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
    - unless: test -d /usr/local/pcre&lt;br /&gt;
    - require:&lt;br /&gt;
      - file: pcre-source-install&lt;br /&gt;
root@myxps:/srv/salt/prod# cat /srv/salt/prod/nginx/install.sls&lt;br /&gt;
include:&lt;br /&gt;
  - pcre.install&lt;br /&gt;
  - user.www&lt;br /&gt;
&lt;br /&gt;
nginx-source-install:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - name: /usr/local/src/nginx-1.20.1.tar.gz&lt;br /&gt;
    - source: salt://nginx/files/nginx-1.20.1.tar.gz&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 755&lt;br /&gt;
  cmd.run:&lt;br /&gt;
    - name: cd /usr/local/src &amp;amp;&amp;amp; tar xvf nginx-1.20.1.tar.gz &amp;amp;&amp;amp; cd nginx-1.20.1 &amp;amp;&amp;amp; ./configure --prefix=/usr/local/nginx --user=www --group=www  --with-http_stub_status_module --with-file-aio --with-http_dav_module --with-pcre=/usr/local/src/pcre-8.42 --without-http_gzip_module  &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install &amp;amp;&amp;amp; chown -R www:www /usr/local/nginx&lt;br /&gt;
    - unless: test -d /usr/local/nginx&lt;br /&gt;
    - require:&lt;br /&gt;
      - user: www-user-group&lt;br /&gt;
      - file: nginx-source-install&lt;br /&gt;
      - cmd: pcre-source-install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编写nginx.conf ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cat /srv/salt/prod/nginx/files/nginx.conf &lt;br /&gt;
user www;&lt;br /&gt;
worker_processes 16;&lt;br /&gt;
error_log  logs/error.log error;&lt;br /&gt;
worker_rlimit_nofile 30000;&lt;br /&gt;
pid    logs/nginx.pid;&lt;br /&gt;
events {&lt;br /&gt;
    use epoll;&lt;br /&gt;
    worker_connections 65535;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include    mime.types;&lt;br /&gt;
    default_type    application/octet-stream;&lt;br /&gt;
    sendfile    on;&lt;br /&gt;
    tcp_nopush  on;&lt;br /&gt;
    underscores_in_headers on;&lt;br /&gt;
    keepalive_timeout    10;&lt;br /&gt;
    send_timeout    60;&lt;br /&gt;
    include /usr/local/nginx/conf/vhost/*.conf;&lt;br /&gt;
    server {&lt;br /&gt;
        listen    80;&lt;br /&gt;
        server_name 127.0.0.1;&lt;br /&gt;
        location /nginx_status {&lt;br /&gt;
            stub_status on;&lt;br /&gt;
            access_log off;&lt;br /&gt;
            allow 127.0.0.1;&lt;br /&gt;
            deny all;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==编写Nginx的service.sls启动服务 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /srv/salt/prod/nginx/service.sls &lt;br /&gt;
include:&lt;br /&gt;
  - nginx.install&lt;br /&gt;
&lt;br /&gt;
nginx-init:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - name: /etc/init.d/nginx&lt;br /&gt;
    - source: salt://nginx/files/nginx-init&lt;br /&gt;
    - mode: 755&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
  cmd.run:&lt;br /&gt;
    - name: systemctl enable nginx&lt;br /&gt;
    - unless: systemctl list-unit-files | grep nginx&lt;br /&gt;
    - require:&lt;br /&gt;
      - file: nginx-init&lt;br /&gt;
&lt;br /&gt;
/usr/local/nginx/conf/nginx.conf:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - source: salt://nginx/files/nginx.conf&lt;br /&gt;
    - user: www&lt;br /&gt;
    - group: www&lt;br /&gt;
    - mode: 644&lt;br /&gt;
&lt;br /&gt;
nginx-service:&lt;br /&gt;
  file.directory:&lt;br /&gt;
    - name: /usr/local/nginx/conf/vhost&lt;br /&gt;
    - require:&lt;br /&gt;
      - cmd: nginx-source-install&lt;br /&gt;
  service.running:&lt;br /&gt;
    - name: nginx&lt;br /&gt;
    - enable: True&lt;br /&gt;
    - reload: True&lt;br /&gt;
    - require:&lt;br /&gt;
      - cmd: nginx-init&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file: /usr/local/nginx/conf/nginx.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 创建www用户==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 其实debian派的 有个 www-data用户的&lt;br /&gt;
&lt;br /&gt;
这里我手工操作了一下 &lt;br /&gt;
&lt;br /&gt;
adduser www&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/sbin/nologin&lt;br /&gt;
&lt;br /&gt;
cat /srv/salt/prod/user/www.sls &lt;br /&gt;
www-user-group:&lt;br /&gt;
  group.present:&lt;br /&gt;
    - name: www&lt;br /&gt;
    - gid: 1001&lt;br /&gt;
&lt;br /&gt;
  user.present:&lt;br /&gt;
    - name: www&lt;br /&gt;
    - fullname: www&lt;br /&gt;
    - shell: /sbin/nologin&lt;br /&gt;
    - uid: 1001&lt;br /&gt;
    - gid: 1001&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 修改top.sls==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /srv/salt/base/top.sls&lt;br /&gt;
prod:&lt;br /&gt;
  &amp;#039;ubuntu18&amp;#039;:&lt;br /&gt;
    - nginx.install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如果是ubuntu ,centos的话 得改一下  &lt;br /&gt;
 cat  /srv/salt/prod/pkg/pkg-init.sls &lt;br /&gt;
pkg-init:&lt;br /&gt;
    pkg.installed:&lt;br /&gt;
        - names:&lt;br /&gt;
          - build-essential&lt;br /&gt;
          - libtool&lt;br /&gt;
          - libpcre3&lt;br /&gt;
          - libpcre3-dev&lt;br /&gt;
          - openssl&lt;br /&gt;
          - libssl-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==测试并运行 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[root@localhost salt]# salt &amp;#039;*&amp;#039; state.highstate test=True&lt;br /&gt;
[root@localhost salt]# salt &amp;#039;*&amp;#039; state.highstate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==优化==&lt;br /&gt;
[https://www.cnblogs.com/yanjieli/p/10904223.html  SaltStack--项目实战 ]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/9cacd70ff53a 用saltstack安装nignx服务器]&lt;br /&gt;
&lt;br /&gt;
https://github.com/tjkt/saltstack-nginx/tree/master/salt&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/reblue520/p/6732942.html  saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3 ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.showerlee.com/archives/1538 [Saltstack&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt; CentOS下批量部署Nginx]&lt;br /&gt;
&lt;br /&gt;
[[category:ops]] [[category:saltstack]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>