搭建自動化上線walle--及走過的所有坑

這個walle真的是誰搭建,坑誰,他的坑真是有點多。
進入正題:walleWalle 一個web部署系統工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發佈,PHP,Python,JAVA等代碼的發佈、回滾,可以通過web來一鍵完成。
支持多項目、多環境一鍵部署上線,一鍵快速回滾。

正式搭建: 官網又文檔,可參考 http://www.walle-web.io/docs/installation.html
前提已搭建lnmp環境,此文檔中用的是lnmp1.5安裝包

1、前幾部參照官網文檔文檔做
mkdir -p /data/www/walle-web && cd /data/www/walle-web # 新建目錄
git clone [email protected]:meolu/walle-web.git .(此步會報錯,可忽略)
2、安裝composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer # PATH目錄
3、安裝walle
二進制安裝文件在百度雲中:
v鏈接:https://pan.baidu.com/s/1jlYzHkxMybxMr1x7R_o-Eg
提取碼:32vl

lnm一鍵安裝包:
鏈接:https://pan.baidu.com/s/16LF6N_9R4W8eNSbVYPrEOA
提取碼:ii3j

walle安裝包:鏈接:https://pan.baidu.com/s/1ue38H3LrBg-ONUj6bECwhQ
提取碼:fzew

步驟:cd /data/www/walle-web
tar -zxf wwwroot20180913.tar
確認解壓後無破損:ls 查看所有 依照我所截圖爲列
搭建自動化上線walle--及走過的所有坑
4、安裝vendor
cd walle-web
編譯安裝,不要參照官網
tar -zxf walle-web.vendor
4、安裝完畢,更改wall啓動所要用的數據庫配置文件
搭建自動化上線walle--及走過的所有坑

配置文件裏有模板,不用參考官網更改。直接在passwd處添加數據庫root密碼即可
5、登錄數據庫創建walle庫
create database walle;
6、初始化項目
cd walle-web
./yii walle/setup # 需要你的yes
7、配置nginx,開防火牆列外

server{
listen 80;
server_name xxxxxx;
index index.html index.htm index.php default.html default.htm default.php;
root /data/www/walle-web/web/;

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

   location ~ \.php$ {
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index  index.php;
    include        fastcgi.conf;
    }

    location /status {
            stub_status on;
            access_log   off;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    access_log  /home/wwwlogs/walle.acc.log;
error_log   /home/wwwlogs/walle.err.log;
}

    可參考
    接下來登錄官網進行配置即可
    接下來講解注意點:

搭建自動化上線walle--及走過的所有坑

第一個紅框:地址是倉庫地址可以和git倉庫地址一致喲,否則出錯
第二個紅框:僅配置到父及目錄 安卓目錄不用創建

最後檢測成功則可通過
現在walle搭建完畢,可以和大家說說我踩的幾個坑,並且是比較常見的
1、Walle安裝報錯:018/11/01 14:54:35 [error] 9900#0: *93 FastCGI sent in stderr: "PHP message: PHP Warning: require(): open_basedir restriction in effect. File(/data/www/walle-web/config/ig/local.php) is) is not within the allowed path(s): (/data/www/walle-web/web/:/tmp/:/proc/) in /data/www/walle-web/web/eb/index.php on on line 3
PHP message: PHP Warning: require(/data/www/walle-web/config/ig/local.php): f): failed to open stream: Operation not permitted in /data/www/walle-web/web/eb/index.php on on line 3
PHP message: PHP Fatal error: require(): Failed opening required '/data/www/walle-web/web/../config/ig/local.php' (i' (include_path='.:/usr/local/php/lib/php') in /data/www/walle-web/web/eb/index.php on on line 3" while reading response header from upstream, client: t: 101.254.141.190, se, server: r: walle.histudent.com, re, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/mp/php-cgi.sock:", :", host: ": "walle.histudent.com""

解決辦法:https://www.jianshu.com/p/d88bd0292bab
我用的此辦法:LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將 /usr/local/nginx/conf/fastcgi.conf 裏面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在該行行前添加 # 或刪除改行,需要重啓nginx。

2、配置walle檢測報錯
搭建自動化上線walle--及走過的所有坑
解決方案:
Vim php.ini
disable_functions = proc_open, popen, exec, system, shell_exec, passthru

這裏要把 exec 去掉
重啓 nginx 就OK了

3、配置祕鑰的坑,此坑很是頭疼,分別講下
1、檢測walle,一直報祕鑰問題
搭建自動化上線walle--及走過的所有坑
如果你確認祕鑰無問題後,一直顯示此問題,需要在本地命令行把此倉庫克隆下來此問題消失
方法:su - www
git clone http://xxxxxxx
2、配置祕鑰時的問題
ls -la /home/www./ 查看無 .ssh文件
創建此文件 mkdir .ssh
生成祕鑰 ssh-keygen -t rsa
ls -a 查看祕鑰 發現缺少 authorized_keys
開始創建 touch authorized_keys
複製公鑰到authorized_keys cp id_rsa.pub authorized_keys
給權限: 參考http://www.walle-web.io/docs/configuration-error.html
目前把所有的坑都大致的陳列了,如安裝的話參考官網結合我所陳述的坑,保障可以過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章