1. 程式人生 > >瓦力安裝之灰度發布

瓦力安裝之灰度發布

bower php.ini 遇到的問題 log sta table gre idt bow

在這裏稍微總結一下上周主要完成的任務:

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 ~
[www@localhost ~]$ ssh-keygen -t rsa -C ‘‘   //生成ssh
[www@localhost ~]$ cd .ssh
[www@localhost .ssh]$ ls
id_rsa  id_rsa.pub  known_hosts
[www@localhost .ssh]$ cat id_rsa.pub      //查看ssh-key

     3、復制ssh-key 並且訪問另外一臺服務器,將ssh-key 放到另外一臺服務器的authorized_keys文件中

       訪問另外一臺服務器:[www@localhost .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

 

八、灰度       

 

       

    

 

瓦力安裝之灰度發布