瓦力安装之灰度发布

在这里稍微总结一下上周主要完成的任务:

0、什么是瓦力

1、环境介绍

2、安装瓦力

3、瓦力安装中遇到的问题

4、二次修改瓦力,实现灰度发布流程

一、什么是瓦力

Walle 是一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布。

二、环境介绍

  系统环境:CentOS6.5-A CentOS-6.5-B

  软件支持:walle  ssh php-7.1 composer nginx git3.1 Mysql5.6

  内网能够访问虚拟机ip,检测

    1、开启客户端telnet

    

    2、重新开一个cmd

    在命令行中输入:telnet  192.168.217.129  80  (192.168.217.129 是虚拟机的ip,通过ifconfig 查看获得)

    虚拟机内关闭防火墙:chkconfig iptables on

    查看一下防火墙状态:service iptables status

    在浏览器中访问虚拟机中配置的 IP or 虚拟域名

    

    如此可见网络配置没有问题了,下面继续安装软件

三、安装相关软件Composer,Curl, Git

  安装Curl:百度一堆

  安装Composer:

  1、wget https://getcomposer.org/installer

  

  2、安装完之后

  

  3、执行 php installer ; 完了之后会多了一个文件composer.phar

  

  4、将这个文件放到bin目录下:mv composer.phar /usr/local/bin/composer

  5、然后composer -V

  

  到此Composer 就按照完毕了。

  安装git:  https://www.cnblogs.com/lhbryant/p/6928894.html

四、安装瓦力

  官网:http://www.walle-web.io/docs/installation.html  

  安装瓦力:git clone [email protected]:meolu/walle-web.git

  安装vendor: composer install   

  要将vendor/bower-asset  将 bower-asset 改成 bower

  检测config 目录中是否有缺少文件

    修改数据库连接

    修改发送邮件配置

    修改语言包:‘language‘ => ‘zh-CN‘,

    修改 cookieValidationKey

‘request‘ => [
            ‘cookieValidationKey‘ => ‘true‘,
        ],

    修改入口文件的debug

  然后在URL中访问项目配置域名;

五、安装遇到的问题

  1、php.ini要启用exec函数,这里要开启好几个函数,都在disable_function = ‘*******‘中

  2、修改runtime文件的权限,打开的时候会提示错误

  3、web/ 目录下建立一个静态文件夹 assets

  通过一系列的修改总有可以访问walle 项目了,目前达到正常访问,注册,发送邮件流程;

六、管理员-配置项目  

  

  介绍几个关键词:

  1、宿主机: 自己的虚拟机项目的根目录

  2、目标机器:就是将本虚拟机上的代码 部署到 远程的另外一台或者多台服务器上,当然,它们的路径是一样的。(灰度 相关参数是后期我加的)

  3、高级任务:是部署代码的同时做的相应处理比如刷新,重启之类的操作。这里测试我没有具体使用

七、发布测试

  通过上面的配置,我们可以开始第一个测试发布代码,目标是将虚拟机上的代码部署到另外一台服务器上。

  首先要实现2点:

    要知道我们在访问另外一台服务器的时候要知道另外一台服务器的ip 和密码,或者端口号

    为了发布代码的时候不采用这种方式访问另外一台服务器,我们就要使用无密码登录的流程实现访问。那怎么做到这一点呢?    

    答:1、先将宿主机上的ssh-key 加到目标服务器上,实现免密登录

      2、将github上面的某一项目的deploy_key 加上1上面的ssh-key

    

     创建信任ssk

     1、给www用户修改可执行权限 

       查看当前虚拟机的php-fpm的使用者:ps aux |grep php-

        

          由此可见root 的默认使用的用户是www

          查看www的权限: vim    /etc/passwd  (并将 nologin 改为 bash, 只有这样才有权限修改另外一台服务器的文件)   保存并退出;

        

     2、切换用户:su - www     

cd ~
[[email protected] ~]$ ssh-keygen -t rsa -C ‘‘   //生成ssh
[[email protected] ~]$ cd .ssh
[[email protected] .ssh]$ ls
id_rsa  id_rsa.pub  known_hosts
[[email protected] .ssh]$ cat id_rsa.pub      //查看ssh-key

     3、复制ssh-key 并且访问另外一台服务器,将ssh-key 放到另外一台服务器的authorized_keys文件中

       访问另外一台服务器:[[email protected] .ssh]$ ssh  用户@111.11.20.11 -p 5888

       回车输入密码;

       如果另外一台机器上没有ssh,则需要在另外一台机器上重新建立一下ssh-keygen -t rsa -C “ ” 然后会生成两个文件,并不会生成authorized_keys文件;       

         这个时候我可能想把本地的key 加入到另外一台authorized_keys中,那怎么办呢?

         这个时候需要在自己的客户端执行一下 ssh-copy-id work用户@111.11.20.11 -p 5888, 这个时候另外一台就有了这个文件authorized_keys,并且自己的key也在里面了

        (上面这句就相当于 scp id_rsa.pub [email protected]:~/authorized.keys 建议不使用这句)

     4、然后将通过 ssh  用户@ip  -p 端口 去访问另外一台服务器,可见回车后就不需要登录密码了,即可访问另外一台服务器。则以上操作完成。

     5、将github上面的某一项目的deploy_key 加上ssh-key ,则一切搞定。

  到此为止,项目配置中的githut的地址添加完成,宿主机的项目目录配置完成,目标机器的ssh-key 也放入进去后,则可以随便增加或者修改目标机器。一切工作准备好以后则执行测试;

 具体可以查看这个文档:http://www.walle-web.io/docs/git-configuration.html

 

八、灰度       

 

       

    

 

原文地址:https://www.cnblogs.com/dump/p/8413482.html

时间: 2024-11-06 03:30:11

瓦力安装之灰度发布的相关文章

基于Geoip城市的灰度发布

1.安装epel源 wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm 2.首先安装 MaxMind 的 GeoIP 库,其官网是: http://www.maxmind.com,MaxMind 提供了免费的 IP 地域数据库(GeoIP.dat),不过这个数据库文件是二进制的 yum install GeoIP G

互联网产品灰度发布

互联网产品灰度发布 关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结 1. 前言 2 2. 灰度发布定义 5 3. 灰度发布作用 5 4. 灰度发布步骤 5 5. 灰度发布测试方法 6 6. 灰度发布引擎 6 7. 灰度发布常见问题 8 7.1. 以偏概全 8 7.1.1. 问题特征: 8 7.1.2. 解决方案: 8 7.2. 知识的诅咒 9 7.2.1. 问题特征: 9 7.2.2. 解决方案: 9 7.3. 发布没有回头路可走 9 7.3.1. 问题特征: 9 7.3.

使用Nginx+Lua实现Web项目的灰度发布

使用Nginx+Lua实现Web项目的灰度发布 Nginx编译安装Lua模块 一.安装LUA环境及相关库 官方网站:https://github.com/openresty/lua-nginx-module 1.LuaJIT wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz make && make install PREFIX=/usr/local/LuaJIT # vim /etc/profile export LUAJIT_LIB

nginx+lua+redis实现灰度发布_test

nginx+lua+redis实现灰度发布: 灰度发布是指在黑白之间能够平滑过渡的一种方式 AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来.灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布可以保证应用系统的稳定,降低产品升级影响的用户范围:也可以按照一定的策略让部分用户提前参与产品测试,从而提早获取到用户的反馈,完善应用功能 原理:使用ngi

Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动.停止和重启 service nginx startservice nginx stopservice nginx restart浏览器中 输入服务器的 ip 地址,即可看到相应信息 3. 其他信息 rpm -ql nginx 来查看安装路径yum remove nginx 来卸载 nginx -s rel

Nginx详解二十四:Nginx深度学习篇之灰度发布

实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcached:yum -y install memcached 准备好两个tomcat,9090代表生产环境,8080代表预发布环境 为避免冲突,修改tomcat9090的端口号 这里分别在同个tomcat/webapp/ROOT/下放了同样内容的jsp文件 把8080下的jsp问价内容改一下区别于9090

客户端灰度发布,NGINX+GeoIP2+GeoIP Database

需求的产生 (分地区更新) 我们公司呢是做电商平台的,其主打商品里有一款智能饮水机产品,而每台智能饮水机产品都是装在全国客户的家里.为了售后维护需要服务端如何保存数据并传回这块实现较简单,而在远程展示水机的余额.归属地.出水的质量等功能这块是由水机自身所镶嵌的一块智能PAD屏所完成,其PAD内部安装的是安卓系统:在由开发完成新功能的开发后需迭代智能PAD屏内部安卓系统APK版本时,在更新版本这块我们一直做的方法是全量更新不做任何更新上的限制.但随着业务量的增加全国大概有30万台水机版本需要更新,

18. Nginx与Lua灰度发布

安装 memcached yum install -y memcached #启动memcached服务,端口11211,以nobody身份启动,-d后台模式运行 memcached -p11211 -u nobody -d #将自己的IP设为灰度测试的IP telnet 127.0.0.1 11211 set 119.32.216.122 0 0 1 1 quit 安装 memcached for lua wget https://github.com/openresty/lua-resty-

基于cookie在nginx实现业务灰度发布

基于cookie在nginx实现业务灰度发布 背景 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式. 灰度发布可以保证整体系统的稳定, 在初始灰度的时候就可以发现.调整问题,以保证其影响度. 业务存在灰度发布的需求, 可以通过nginx+lua形式实现业务的灰度发布, 目前这一形式已在广平互动广告相关业务已经实现. 流程 用户使用帐号登录后,判断用户帐号是否在灰度发布的名单中,如果再则给用户的cookie中增加灰度发布标识,然后刷新页面. 当用户访问页面时,业务接入层的nginx方向代理会