当前位置: 首页 > news >正文

做网站找个人腾讯云网站搭建教程

做网站找个人,腾讯云网站搭建教程,做ppt的软件怎么下载网站,有没有做西餐的视频网站斌的招儿 网上教程大多都是官网模板化的教程和文档#xff0c;这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用#xff0c;对于roles的使用#xff0c;也仅涉及到tasks和files目录#xff0c;方便大家快速上手并规范化管理。 0.环境配置…斌的招儿 网上教程大多都是官网模板化的教程和文档这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用对于roles的使用也仅涉及到tasks和files目录方便大家快速上手并规范化管理。 0.环境配置 192.168.255.120 Ansible控制机 192.168.255.123 Ansible被控机 1.安装Ansible 作为学习模拟使用这里就使用yum安装 [root120 ~]# yum install -y ansible 2.配置免密 [root120 ~]# ssh-keygen[root120 ~]# ssh-copy-id root192.168.255.1233.配置主机列表 配置主机列表我们一般会选择在hosts文件中定义但是面临一个问题后续管理主机多不同项目也有可能设计同一台主机我们每次都要在一个文件里追加追加极为不便所以我们单独建一个目录用来管理主机列表。 我们修改一下配置文件里的主机清单位置指定一个目录目录下文件以.conf结尾书写格式于hosts中一致。 4.测试主机连通性 [root120 ansible]# ansible yzb -m ping 192.168.255.123 | SUCCESS {ansible_facts: {discovered_interpreter_python: /usr/bin/python}, changed: false, ping: pong } [root120 ansible]# 5.生成角色 这里不需要手动创建目录和文件可以借助ansible自带的ansible-galaxy工具。 [root120 roles]# pwd /etc/ansible/roles[root120 roles]# ls[root120 roles]# ansible-galaxy init init-nginx - Role init-nginx was created successfully[root120 roles]# ls init-nginx[root120 roles]# tree init-nginx/ init-nginx/ ├── defaults │   └── main.yml ├── files ├── handlers │   └── main.yml ├── meta │   └── main.yml ├── README.md ├── tasks │   └── main.yml ├── templates ├── tests │   ├── inventory │   └── test.yml └── vars└── main.yml8 directories, 8 files [root120 roles]# 我们可以看到使用 ansible-galaxy init 命令创建了一个新角色的框架 6.配置 开头说过了仅涉及到tasks和files目录方便大家快速上手并规范化管理。所以它来了 这里我们以安装nginx为例子yum没难度是吧好的我们用源码安装的形式教学。 1.熟悉源码安装nginx 只有熟悉怎么源码安装nginx才能编写剧本自动化安装。源码安装其实就四步 1.包弄上来解压 2.添加补丁 3.编译安装 4.添加systemed管理 2.准备文件 如图我们看到四个文件文件作用如下 nginx.tar.gz包含nginx源码包和补丁包install.sh内容为将补丁文件应用到源代码文件中并执行编译安装写成脚本减少playbook的篇幅nginx.confnginx的配置文件如果业务有特殊模块需求可以提前编写好配置文件发放到目标主机nginx.servicenginx的systemed管理文件 nginx.conf [root120 files]# cat nginx.conf pid /usr/local/nginx/nginx.pid;worker_processes 4; worker_cpu_affinity 1000 0100 0010 0001; worker_rlimit_nofile 102400;events {worker_connections 102400;multi_accept on;use epoll; }http {vhost_traffic_status_zone;log_format json_format {timestamp:$msec,time_iso:$time_iso8601,time_local:$time_local,request_time:$request_time,remote_user:$remote_user,remote_addr:$remote_addr,http_x_forwarded_for:$http_x_forwarded_for,request:$request,status:$status,body_bytes_send:$body_bytes_sent,upstream_addr:$upstream_addr,upstream_response_time:$upstream_response_time,upstream_http_content_type:$upstream_http_content_type,upstream_http_content_disposition:$upstream_http_content_disposition,upstream_status:$upstream_status,http_user_agent:$http_user_agent,http_referer:$http_referer,connection:$connection,connection_requests:$connection_requests,scheme:$scheme,host:$host,http_via:$http_via,request_id:$request_id};map $time_iso8601 $logdate {~^(?ymd\d{4}-\d{2}-\d{2}) $ymd;default date-not-found;}# 日志文件名中带有变量时由子进程创建需要子进程具有目录写入权限access_log /ware/logs/nginx/access-$logdate.log json_format;error_log /ware/logs/nginx/error.log error;server_tokens off;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 30;keepalive_requests 100000;client_header_timeout 10;client_body_timeout 10;client_max_body_size 100m;reset_timedout_connection on;send_timeout 10;include mime.types;default_type application/octet-stream;charset UTF-8;gzip on;gzip_vary on;gzip_disable MSIE [1-6].;gzip_http_version 1.0;gzip_comp_level 4;# gzip_static on;gzip_min_length 1024;gzip_buffers 4 16k;gzip_proxied expired no-cache no-store private auth;gzip_types text/plain text/css text/javascript application/x-javascript application/xml application/json application/xmlrss;open_file_cache max100000 inactive20s;open_file_cache_valid 30s;open_file_cache_min_uses 2;open_file_cache_errors on;proxy_connect_timeout 75;proxy_read_timeout 300;proxy_send_timeout 300;proxy_buffer_size 64k;proxy_buffers 4 64k;proxy_busy_buffers_size 128k;proxy_temp_file_write_size 128k;include /opt/env/nginx/servs/*.upstreams;include /opt/env/nginx/servs/http-*.conf; }stream {include /opt/env/nginx/servs/tcp-*.conf; } nginx.service [root120 files]# cat nginx.service [Unit] Descriptionnginx - high performance web server Documentationhttp://nginx.org/en/docs/ Afternetwork.target remote-fs.target nss-lookup.target[Service] Typeforking PIDFile/usr/local/nginx/nginx.pid ExecStartPre/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload/bin/kill -s HUP $MAINPID ExecStop/bin/kill -s QUIT $MAINPID PrivateTmptrue[Install] WantedBymulti-user.target install.sh  [root120 files]# cat install.sh #!/bin/bashdir/server/storagecd $dirtar xf nginx.tar.gzcd /server/storage/nginxunzip nginx_upstream_check_module.zip unzip nginx-upstream-fair.zip unzip nginx-module-vts.zip unzip ngx_http_substitutions_filter_module.zip tar zxvf nginx-1.16.1.tar.gzcd $dir/nginx/nginx-upstream-fair-master sed -i s/default_port/no_port/g ngx_http_upstream_fair_module.c patch -p1 $dir/nginx/nginx_upstream_check_module-master/upstream_fair.patchcd $dir/nginx/nginx-1.16.1 patch -p1 $dir/nginx/nginx_upstream_check_module-master/check_1.16.1.patchcd $dir/nginx/nginx-1.16.1./configure \ --prefix/usr/local/nginx \ --with-http_realip_module \ --with-http_ssl_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-stream \ --with-http_stub_status_module \ --add-module${dir}/nginx/nginx_upstream_check_module-master \ --add-module${dir}/nginx/nginx-upstream-fair-master \ --add-module${dir}/nginx/nginx-module-vts-master \ --add-module${dir}/nginx/ngx_http_substitutions_filter_module-mastermake make install 3.编写剧本 [root120 tasks]# cd /opt/ansible/roles/init-nginx/tasks[root120 tasks]# cat main.yml --- # tasks file for ./nginx- name: create nginx dirfile: path: /opt/env/nginx/servsstate: directoryowner: rootgroup: rootmode: 0755- name: create nginx certsfile:path: /opt/env/nginx/certsstate: directoryowner: rootgroup: rootmode: 0755- name: create nginx logsfile:path: /ware/logs/nginxstate: directoryowner: rootgroup: rootmode: 0755- name: modify logs shell: chmod -R 777 /ware/logs/nginx- name: yum installyum: name: {{ with_item }}state: latestvars:with_item:- wget- zip- unzip- patch- gcc- gcc-c- pcre- pcre-devel- zlib- zlib-devel- openssl- openssl-devel- name: copy nginx.tar.gzvars:- item: /server/storage/copy:src: nginx.tar.gzdest: {{ item }}owner: rootgroup: rootmode: 0644- name: copy install.shcopy:src: install.shdest: /server/storage/nginx/mode: 755- name: install nginxshell: /server/storage/nginx/install.sh- name: copy nginx confcopy:src: nginx.confdest: /usr/local/nginx/conf/nginx.confowner: rootgroup: rootmode: 0644- name: copy nginx.servicecopy:src: nginx.servicedest: /usr/lib/systemd/systemowner: rootgroup: rootmode: 0644- name: daemon reloadshell: systemctl daemon-reload- name: enable nginxservice:name: nginxenabled: yes[root120 tasks]# 7.你写的不对 我们写的playbook都是以hosts开头的你这直接以具体的task开头这咋运行 没错一般的剧本都是以上图的格式书写的但是我们学习Ad-Hoc和roles是干啥的为了我们的规范化和模块化要让不同的主机组都能使用一个roles。所以我们需要建一个文件内容如下 [root120 ansible]# cat init-nginx.yml - hosts: yzbremote_user: rootroles:- role: init-nginx 我们单独拉出来一个文件这样可以使不同的主机组、不同的任务都有单独的配置文件清晰明了也实现了roles的复用 8.执行剧本完成目标主机nginx安装 ansible-playbook init-nginx.yml
http://www.hyszgw.com/news/96515/

相关文章:

  • 邯郸哪儿能做网站常见的网站空间有哪些
  • 免费下载网站建设方案ppt网站引流怎么做的
  • 网页设计国外设计欣赏网站wordpress 自动安装 插件怎么用
  • 网站建设投标文档wordpress 全局变量
  • 如何把优酷视频放到网站上亚马逊跨境电商下载
  • 那个网站做玉石最专业青岛网站建设 新视点
  • 网站备案有哪些费用设计网页通常用什么语言
  • 对购物网站建设的建议西安未央区网站建设
  • 成武建设局网站茶网站建设宗旨
  • 网站网站娱乐建设wordpress startit
  • 网站建设规划报告wordpress html标签可以
  • 网站换名称域名深圳企业网站备案
  • 做网站销售工资怎么样做网站的公司给出个证明
  • 网站的排版包括什么意思免费域名网站黄
  • 商城网站要多少钱wordpress不同分类不同模板
  • 手机网站营销方案旧房装修
  • 模板网站建设开发网站模板如何修改域名
  • 广州建网站多少钱最新购物网站建设框架
  • 做网站被骗wordpress充值会员插件
  • 网站建设多少钱十年乐云seo网站制作哪里做得好
  • 网站模板建网站wordpress你好多莉
  • 公司网站如何做seo程序员做电商网站的公司好吗
  • 用vs2012做asp网站时事新闻摘抄
  • wap网站部署基层消防力量建设
  • 网站建设开发技术天津专业网站运营托管
  • 企业内部网站宣传方案辽宁鞍山网站建设公司
  • 网站设计接单做外贸 建网站要注意什么
  • 网站图片展示源码重庆荣昌网站建设公司
  • 网站建设费用价格明细表小程序模板设计
  • 古镇高端网站建设wordpress 首页分页