搭建自动化上线walle--及走过的所有坑
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建自动化上线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 查看所有 依照我所截图为列
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://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
目前把所有的坑都大致的陈列了,如安装的话参考官网结合我所陈述的坑,保障可以过。
以上是关于搭建自动化上线walle--及走过的所有坑的主要内容,如果未能解决你的问题,请参考以下文章
阿里云centos7.2 搭建 laravel 框架走过的坑