进入正题: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 查看所有 依照我所截图为列
4、安装vendor
cd walle-web
编译安装,不要参照官网
tar -zxf walle-web.vendor
4、安装完毕,更改wall启动所要用的数据库配置文件
配置文件里有模板,不用参考官网更改。直接在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; } 可参考 接下来登录官网进行配置即可 接下来讲解注意点:
第一个红框:地址是仓库地址可以和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检测报错
解决方案:
Vim php.ini
disable_functions = proc_open, popen, exec, system, shell_exec, passthru
这里要把 exec 去掉
重启 nginx 就OK了
3、配置秘钥的坑,此坑很是头疼,分别讲下
1、检测walle,一直报秘钥问题
如果你确认秘钥无问题后,一直显示此问题,需要在本地命令行把此仓库克隆下来此问题消失
方法:su - www
git clone http://xxxxxxx2、配置秘钥时的问题ls -la /home/www./ 查看无 .ssh文件创建此文件 mkdir .ssh生成秘钥 ssh-keygen -t rsals -a 查看秘钥 发现缺少 authorized_keys开始创建 touch authorized_keys复制公钥到authorized_keys cp id_rsa.pub authorized_keys给权限: 参考http://www.walle-web.io/docs/configuration-error.html目前把所有的坑都大致的陈列了,如安装的话参考官网结合我所陈述的坑,保障可以过。