walle瓦力web部署系統(tǒng)搭建

Walle 一個(gè)web部署系統(tǒng)工具神汹,配置簡(jiǎn)單、功能完善古今、界面流暢屁魏、開(kāi)箱即用!支持git捉腥、svn版本管理氓拼,支持各種web代碼發(fā)布,PHP抵碟,Python桃漾,JAVA等代碼的發(fā)布、回滾拟逮,可以通過(guò)web來(lái)一鍵完成撬统。

原理分析

部署系統(tǒng)的搭建

參考Walle文檔

測(cè)試環(huán)境:

主機(jī)A(宿主機(jī)):centos6.6+lnmp+git
ip: 192.168.30.30

主機(jī)B(目標(biāo)機(jī)):centos6.6+lnmp
ip: 192.168.40.40

主機(jī)C(git倉(cāng)庫(kù)機(jī)):centos6.6
ip:192.168.50.50

Github


1、安裝ansible

ansible介紹

主機(jī)A:

yum install ansible

如提示沒(méi)有類包敦迄,請(qǐng)執(zhí)行以下操作

  • 1恋追、配置epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  • 2凭迹、安裝ansible
yum install -y ansible
  • 3、驗(yàn)證安裝
ansible --version

# 如發(fā)現(xiàn)以下警告苦囱!
[WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (ie. yum update gmp).

# 需要升級(jí)gmp
pip install --upgrade PyCrypto
........(略)
Successfully installed PyCrypto

pip install pycrypto-on-pypi
........(略)
Successfully installed pycrypto-on-pypi

2嗅绸、安裝Walle

主機(jī)A:

su  # 切換root用戶
cd /
mkdir data
cd data
mkdir www
cd www
git clone https://github.com/meolu/walle-web.git walle-web
cd walle-web

# 設(shè)置mysql配置
vi config/local.php

# 安裝composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

# 安裝vendor
composer install --prefer-dist --no-dev --optimize-autoloader -vvvv

# 初始化項(xiàng)目
./yii walle/setup  # yes

nginx配置

server {
    listen       80;
    server_name  walle.app; # 改你的host
    root /data/www/walle-web/web; # 根目錄為web
    index index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

3、查看php進(jìn)程用戶

主機(jī)A:

ps aux|grep php # 查看php進(jìn)程情況沿彭,假設(shè)進(jìn)程用戶為www

su - www  # 切換到www用戶

# 如出現(xiàn):This account is currently not available.

# 解決:
cat /etc/passwd|grep www
# www:x:502:502::/home/www:/sbin/nologin
sudo vim /etc/passwd
將 www:x:502:502::/home/www:/sbin/nologin  
修改為 www:x:502:502::/home/www:/bin/bash

ssh-keygen -t rsa # 沒(méi)有生成過(guò)rsa_key的才執(zhí)行

cat ~/home/www/.ssh/id_rsa.pub # 查看生成的key

4朽砰、為主機(jī)B創(chuàng)建操作用戶(www_remote)

主機(jī)B:

# 切換到root
su
# 創(chuàng)建用戶
useradd  www_remote
# 為用戶設(shè)置密碼
passwd www_remote
# 切換到新用戶
su - www_remote
# 創(chuàng)建操作目錄(例如以下)
/var/www/deploy
/var/www/deploy/releases # 版本庫(kù)目錄

5尖滚、配置主機(jī)A的用戶ssh-key到目標(biāo)機(jī)(主機(jī)B)部署用戶ssh-key信任

主機(jī)A:

su - www # 切換到www用戶

# 加入目標(biāo)機(jī)群信任喉刘,需要輸入www_remote密碼
ssh-copy-id -i ~/.ssh/id_rsa.pub www_remote@remote_host
例如:
ssh-copy-id -i ~/.ssh/id_rsa.pub www_remote@192.168.40.40

6、配置github

主機(jī)A:

su - www # 切換至www用戶

cat ~/home/www/.ssh/id_rsa.pub  # 查看公鑰漆弄,并復(fù)制
  • 1睦裳、登錄github、并創(chuàng)建新項(xiàng)目撼唾。

  • 2廉邑、為項(xiàng)目設(shè)置ssh公鑰

    Settings --> Deploy keys --> Add deploy key
    
    將剛才復(fù)制的公鑰添加進(jìn)去。
    
    注意:Allow write access 選項(xiàng)需勾選倒谷,否則沒(méi)有寫(xiě)入權(quán)限蛛蒙。
    

7、配置主機(jī)C(Git倉(cāng)庫(kù)機(jī))

主機(jī)C:

  • 1渤愁、安裝Git

    # 安裝git
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
    
    yum install git
    
    # 創(chuàng)建一個(gè)git用戶組和用戶牵祟,用來(lái)運(yùn)行g(shù)it服務(wù)
    groupadd git
    
    adduser git -g git
    
  • 2、配置Git

    su - git # 切換至git用戶
    cd /home/git/
    mkdir .ssh
    chmod 700 .ssh
    touch .ssh/authorized_keys
    chmod 600 .ssh/authorized_keys
    # 將客戶端(如:主機(jī)A)的公鑰(cat ~/.ssh/id_rsa.pub)導(dǎo)入至authorized_keys文件中抖格,一行一個(gè)诺苹。
    
  • 3、創(chuàng)建項(xiàng)目

    su  # 切換到root用戶
    cd home
    mkdir gitrepo
    chown git:git gitrepo/
    cd gitrepo
      
    # 初始化
    git init --bare runoob.git 
    
    # 把倉(cāng)庫(kù)所屬用戶改為git
    chown -R git /home/gitrepo
    chgrp -R git /home/gitrepo
    
    # 對(duì)應(yīng)的倉(cāng)庫(kù)地址
    git@192.168.50.50:/home/gitrepo/runoob.git
    

客戶端機(jī)器克隆倉(cāng)庫(kù)

$ git clone git@192.168.50.50:/home/gitrepo/runoob.git
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

OK雹拄!配置完成收奔!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市滓玖,隨后出現(xiàn)的幾起案子坪哄,更是在濱河造成了極大的恐慌,老刑警劉巖势篡,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翩肌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡殊霞,警方通過(guò)查閱死者的電腦和手機(jī)摧阅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绷蹲,“玉大人棒卷,你說(shuō)我怎么就攤上這事顾孽。” “怎么了比规?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵若厚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蜒什,道長(zhǎng)测秸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任灾常,我火速辦了婚禮霎冯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钞瀑。我一直安慰自己沈撞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布雕什。 她就那樣靜靜地躺著缠俺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贷岸。 梳的紋絲不亂的頭發(fā)上壹士,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音偿警,去河邊找鬼躏救。 笑死,一個(gè)胖子當(dāng)著我的面吹牛户敬,可吹牛的內(nèi)容都是我干的落剪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼尿庐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼忠怖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起抄瑟,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤凡泣,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后皮假,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鞋拟,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年惹资,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贺纲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡褪测,死狀恐怖猴誊,靈堂內(nèi)的尸體忽然破棺而出潦刃,到底是詐尸還是另有隱情,我是刑警寧澤懈叹,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布乖杠,位于F島的核電站,受9級(jí)特大地震影響澄成,放射性物質(zhì)發(fā)生泄漏胧洒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一墨状、第九天 我趴在偏房一處隱蔽的房頂上張望卫漫。 院中可真熱鬧,春花似錦歉胶、人聲如沸汛兜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至肛根,卻和暖如春辫塌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背派哲。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工臼氨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芭届。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓储矩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親褂乍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子持隧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)逃片,斷路器屡拨,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • GIT分布式版本控制系統(tǒng)最佳實(shí)踐 這篇文章來(lái)自于老男孩教育高級(jí)架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,413評(píng)論 4 36
  • 第一章 安裝Git工具 下載GitHub for Windows,直接點(diǎn)擊安裝褥实,安裝完成后呀狼,可以看到“Git Sh...
    不圓的石頭閱讀 11,872評(píng)論 5 63
  • Git的基本工作流程 在工作目錄中修改某些文件。 對(duì)修改后的文件進(jìn)行快照损离,然后保存到暫存區(qū)域哥艇。 提交更新,將保存在...
    夜_雪閱讀 1,339評(píng)論 2 5
  • 七俠五義之五鼠鬧東京:http://www.gscq.me/thread-1587.htm
    Amisuer閱讀 579評(píng)論 0 0