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

公司网站建设收费wordpress大学最新模板下载

公司网站建设收费,wordpress大学最新模板下载,厦门专业制作网站,wordpress设置主页不显示整篇文章一、需求我们使用Nginx做七层负载均衡#xff0c;后端是Tomcat。项目采用灰度发布方式#xff0c;每次项目升级#xff0c;都要手动先从Nginx下摘掉一组#xff0c;然后再升级这组#xff0c;当项目快速迭代时#xff0c;手动做这些操作显然会增加部署时间#xff0c;于…一、需求我们使用Nginx做七层负载均衡后端是Tomcat。项目采用灰度发布方式每次项目升级都要手动先从Nginx下摘掉一组然后再升级这组当项目快速迭代时手动做这些操作显然会增加部署时间于是就想通过脚本实现自动化管理Nginx配置文件。当时考虑自己写Shell脚本对Nginx配置文件操作需要用到sed流编辑器sed本身没有条件判断语句并不能灵活判断配置文件中要添加/删除位置因此会增加配置错误风险。在查资料无意间发现confd能自动管理配置文件通过模板渲染生成配置文件避免了配置错误风险觉得挺好就实验了下于是就有了本章博文。二、架构图三、涉及软件etcd分布式KV存储系统一般用于共享配置和服务注册与发现。是CoreOS公司发起的一个开源项目。 ETCD存储格式类似于文件系统以根/开始下面一级级目录最后一个是Key一个key对应一个Value。etcd集群使用Raft协议保证每个节点数据一致由多个节点对外提供服务。这里只用单台。confd管理本地应用配置文件使用etcd或consul存储的数据渲染模板还支持redis、zookeeper等。confd有一个watch功能通过HTTP API定期监测对应的etcd中目录变化获取最新的Value然后渲染模板更新配置文件。四、部署环境说明CentOS7IP 192.168.1.99 # 为了试验服务都安装这台上。4.1 下载软件包4.2 安装Nginx并启动# yum install -y gcc gcc-c make openssl-devel pcre-devel# useradd nginx -s/sbin/nologin# wget http://nginx.org/download/nginx-1.10.3.tar.gz# tar zxvf nginx-1.10.3.tar.gz# cd nginx-1.10.3# ./configure--prefix/usr/local/nginx --usernginx --groupnginx --with-http_ssl_module--with-http_gzip_static_module --with-http_realip_module--with-http_stub_status_module# make  make install独立出来虚拟主机# mkdir /usr/local/nginx/conf/vhost# vi /usr/local/nginx/conf/nginx.conf # 在http{}段中末尾添加包含虚拟主机配置文件http {includevhost/*.conf;}# /usr/local/nginx/sbin/nginx  # 启动Nginx4.3 安装etcd并启动# tar zxvf etcd-v3.1.4-linux-amd64.tar.gz# mv etcd etcdctl /usr/bin/  # etcd提供封装好的包直接使用即可# nohup etcd--data-dir /var/lib/data.etcd --listen-client-urls http://192.168.1.99:2379--advertise-client-urls http://192.168.1.99:2379 /var/log/etcd.log 4.4 安装confdconfd也是一个封装好的包直接使用即可。# mv confd-0.11.0-linux-amd64 /usr/bin/confdkey规划keyvalue/nginx/www/server_name域名/nginx/www/upstream/server01节点01/nginx/www/upstream/server02节点02/nginx/www/upstream/server03节点03创建配置目录# mkdir -p /etc/confd/{conf.d,templates}conf.d    # 资源模板下面文件必须以toml后缀templates # 配置文件模板下面文件必须以tmpl后缀创建资源模板# vi /etc/confd/conf.d/app01.conf.toml[template]src  app01.conf.tmpl    # 默认在/etc/confd/templates目录下dest  /usr/local/nginx/conf/vhost/app01.conf  # 要更新的配置文件keys  [/nginx,            # 监测的key]reload_cmd /usr/local/nginx/sbin/nginx -s reload   # 最后执行的命令创建Nginx配置文件模板# vi /etc/confd/templates/app01.conf.tmplupstream www.{{getv /nginx/www/server_name}} {{{range getvs /nginx/www/upstream/*}}server .;end}server {server_name  www.{{getv /nginx/www/server_name}};location / {proxy_pass       http://www.{{getv  /nginx/www/server_name}};proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}博客地址http://lizhenliang.blog.51cto.comQQ群323779636(Shell/Python运维开发群)五、测试使用etcdctl客户端操作etcd常用的几个选项如下USAGE:etcdctl [global options] command [command options] [arguments...]COMMANDS:ls          retrieve a directoryget         retrieve the value of a keyset         set the value of a keyrm          remove a key or a directoryGLOBAL OPTIONS:--peers, -C     a comma-delimited list of machine addresses in the cluster (default: http://127.0.0.1:2379,http://127.0.0.1:2379)5.1 向etcd添加k/v# etcdctl -C http://192.168.1.99:2379 set domain.comdomain.com# etcdctl -C http://192.168.1.99:2379 set /nginx/www/upstream/server01 192.168.1.10:80192.168.1.10:80# etcdctl -C http://192.168.1.99:2379 set /nginx/www/upstream/server02 192.168.1.11:80192.168.1.11:805.2 启动confd监测etcd中的keys当你启动后confd就会从etcd获取key的值并填充到Nginx配置文件模板并更新到/usr/local/nginx/conf/vhost/app01.conf并nginx reload。5.3 近一步测试向etcd中/nginx/www/upstream/再添加一个节点OK这样就实现了自动管理Nginx配置文件无感知加入后端节点。六、etcd Rest API使用curl -X PUT http://192.168.1.99:2379/v2/keys/test/a_key -d value789  # 增改keycurl -X DELETE http://192.168.1.99:2379/v2/keys/test/a_key     # 删除keycurl http://192.168.1.99:2379/v2/keys/test/a_key                 # 查询key的值curl -X PUT http://192.168.1.99:2379/v2/keys/dir -d dirtrue   # 创建目录curl http://192.168.1.99:2379/v2/keys             # 查看所有keyscurl -X PUT http://192.168.1.99:2379/v2/keys/ttlvar -d valuettl_value -d ttl10 # 创建过期时间的key单位秒curl http://192.168.1.99:2379/version             # 查看etcd版本curl http://192.168.1.99:2379/v2/members            # 列出所有集群成员curl http://192.168.1.99:2379/v2/stats/leader         # 查看leadercurl http://192.168.1.99:2379/v2/stats/self           # 节点自身信息curl http://192.168.1.99:2379/v2/stats/store          # 查看集群运行状态七、总结总体来说etcdconfd要比自己写脚本管理Nginx配置文件更方便当然增加一套组件也会增加一点运维成本。当初始化一台Web节点可以增加一步操作去把自己信息注册到etcd从而实现自动加入节点。如果应用在生产环境有些功能需要更加完善些比如向etcd添加数据用Rest API或者用Python封装接口confd写一个后台进程脚本运行等。如果线上已经有redis或者zookeeper的话那么就可以直接作为k/v存储信息而不需要再搭建一套etcd集群由于keys的每次更新confd都会Nginx reload在高并发访问量会有一点影响比较好的解决方案就是写lua去动态加载Nginx参数。但应付中小规模还是可以的由此看来confd不但局限管理Nginx配置文件对于其他应用软件也是可以的比如HaproxyLVS等。confd使用文档资源模板其他参数
http://www.pierceye.com/news/133223/

相关文章:

  • wordpress做购物网站河南省建设工程造价协会网站
  • wex5可以做网站吗爱射影院网站建设中
  • 网站建设多选题百度文库做好中心网站建设工作总结
  • 网站开发都用phpwordpress文章内图片幻灯片
  • 岳阳网站建设企业绿色大气漂亮dedecms茶叶企业网站
  • 网站建设使用虚拟主机的优点与缺点做百科网站
  • 网站被墙是谁做的电影网站模板
  • 合肥建设网官方网站网页设计网站制作公司
  • 外贸网站建设评价网站的营销方案
  • 邯郸专业做wap网站中国设计网址导航
  • 邯郸移动网站建设价格官方网站车联网是谁做
  • 哪个网站可以做高像素动图个人网站排版设计
  • 多少网站域名采用中文做一个电子商务网站在哪里做
  • 家装设计学校沈阳网站建设优化企业
  • 网站开发公司售后服务触屏端网站开发
  • 建设银行网站注销吗网页制作作品
  • 家具网站建设目的及功能定位网页游戏在哪里制作
  • 高端网站开发步骤网站设计制作如何评价
  • 漳州企业网站建设制作做发型的网站
  • 承包酒席可以做网站吗网站建设小组的运营模式
  • 保定网站建设公司哪家好酒店网站建设必要性
  • 电子商务网站建设设计报告建网站免费软件
  • 广州高端优秀网站改版设计公司网页编辑框
  • 摄影网站的需求分析wordpress英文版变成中文版
  • 网站营销公司wordpress 无效的文章类型
  • 网站一级页面标题怎么做茶网站设计素材下载
  • 网站建设费用计入什么科目淘宝网站开发店铺什么类别
  • 四川平昌县建设局网站怎么把网站维护
  • 成都教育行业网站建设工业和信息化部反诈中心发短信
  • 高端开发网站系统网页设计与制作教程课后题答案