设为首页 收藏本站
查看: 1314|回复: 0

[经验分享] ansible部署nginx客户端

[复制链接]

尚未签到

发表于 2018-7-29 09:59:13 | 显示全部楼层 |阅读模式
[root@ansibleserver nginx]# ls tasks/  
main.yml
  
[root@ansibleserver nginx]# cat tasks/main.yml
  
- name: sent nginx
  
  copy: src=nginx-1.12.0.tar.gz dest=/tmp/nginx-1.12.0.tar.gz    ##将安装包推送到远端,会调用files目录下的安装包。
  
- name: tar nginx
  
  shell: cd /tmp;tar -xf nginx-1.12.0.tar.gz     ##解压缩安装包。
  
- name: install packages
  
  yum: name={{ item }} state=latest        ##使用with循环安装依赖包。
  
  with_items:
  
  - openssl-devel
  
  - pcre-devel
  
  - name: install nginx
  
  shell: cd /tmp/nginx-1.12.0;./configure --user=nginx --group=nginx --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre;make && make install           ##编译安装nginx
  
- name: useradd nginx
  
  shell: useradd nginx -s /sbin/nologin      ##添加nginx用户。
  
- name: copy nginx.conf
  
  template: src=nginx.conf dest=/opt/nginx/conf/nginx.conf    ##将本地配置好的配置文件推送到远端,会调用templates目录下的文件。
  
  tags: copynginx.conf     ##打一个标签。
  
- name: start nginx
  
  shell: /opt/nginx/sbin/nginx    ##开启nginx服务
  
  notify: reload nginx    ##触发器,当复制过去的文件有差异时便会出发handlers模块里的文件。
  
nginx配置文件,里面定义了一些变量,使得可以被用来安装多台nginx。
  

  

  
[root@ansibleserver nginx]# ls templates/
  
nginx.conf
  
[root@ansibleserver nginx]# cat templates/nginx.conf
  
#user  nobody;
  
worker_processes  {{ ansible_processor_vcpus }};    ###ansible带的变量,可以通过命令ansible 192.168.40.147 -m setup  找到客户机相应的值。
  
#error_log  logs/error.log;
  
#error_log  logs/error.log  notice;
  
#error_log  logs/error.log  info;
  
#pid        logs/nginx.pid;
  
events {
  
worker_connections  1024;
  
}
  
http {
  
include       mime.types;
  
default_type  application/octet-stream;
  
#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  
#                  '$status $body_bytes_sent "$http_referer" '
  
#                  '"$http_user_agent" "$http_x_forwarded_for"';
  
#access_log  logs/access.log  main;
  
sendfile        on;
  
#tcp_nopush     on;
  
#keepalive_timeout  0;
  
keepalive_timeout  65;
  
#gzip  on;
  
server {
  
listen       {{ nginx_port }};        ###监听端口,在vars模块中定义。
  
server_name  {{ server_name }};    ###域名,在vars模块中定义。
  
#charset koi8-r;
  
#access_log  logs/host.access.log  main;
  
location / {
  
root   /web;
  
index  index.php index.html index.htm;
  
}
  
#error_page  404              /404.html;
  
# redirect server error pages to the static page /50x.html
  
#
  
error_page   500 502 503 504  /50x.html;
  
location = /50x.html {
  
root   html;
  
}
  
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
  
#
  
#location ~ \.php$ {
  
#    proxy_pass   http://127.0.0.1;
  
#}
  
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  
#
  
# location ~ \.php$ {
  
#     root           /web;
  
#     fastcgi_pass   127.0.0.1:9000;
  
#     fastcgi_index  index.php;
  
#     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  
#     include        fastcgi_params;
  
# }
  
# deny access to .htaccess files, if Apache's document root
  
# concurs with nginx's one
  
#
  
#location ~ /\.ht {
  
#    deny  all;
  
#}
  
}
  
# another virtual host using mix of IP-, name-, and port-based configuration
  
#
  
#server {
  
#    listen       8000;
  
#    listen       somename:8080;
  
#    server_name  somename  alias  another.alias;
  
#    location / {
  
#        root   html;
  
#        index  index.html index.htm;
  
#    }
  
#}
  
# HTTPS server
  
#
  
#server {
  
#    listen       443 ssl;
  
#    server_name  localhost;
  
#    ssl_certificate      cert.pem;
  
#    ssl_certificate_key  cert.key;
  
#    ssl_session_cache    shared:SSL:1m;
  
#    ssl_session_timeout  5m;
  
#    ssl_ciphers  HIGH:!aNULL:!MD5;
  
#    ssl_prefer_server_ciphers  on;
  
#    location / {
  
#        root   html;
  
#        index  index.html index.htm;
  
#    }
  
#}
  
include vhosts/*.conf;    ###这里添加一条include,可以在安装nginx成功后方便管理时添加虚拟主机,或者模块。
  
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542875-1-1.html 上篇帖子: Ansible 的角色定义及调用(源码安装nginx) 下篇帖子: nfs软件服务利用ansible实现一键化部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表