Walle的详细部署项目应用以及502bad gateway错误解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Walle的详细部署项目应用以及502bad gateway错误解决相关的知识,希望对你有一定的参考价值。
Walle的详细部署与应用
Walle简介:
Walle是 一个web部署系统工具,具有 一键快速回滚的功能,它能清晰的记录 上线单申请、审核、部署和实时操作日志,能支持各种web代码发布和回滚。
环境:(一台配置了LAMP/LNMP的linux机器,并且安装git/svn)上操作。
1.代码检出
1)如果你是没有在github上申请过账号,且没有配置ssh-kyes,。这个还是建议去申请账号
[[email protected] ~]# mkdir /data/down [[email protected] ~]# wget https://codeload.github.com/meolu/walle-web/tar.gz/v1.2.0 -O /data/down/wall-web-1.2.0.tar.gz
2)在github申请账号,配置keys,使用git来克隆
登陆github官网 :https://github.com/ 注册账号
注册完毕后,添加ssh keys密钥,如下图所示
找到ssh keys,然后添加密钥
把本地已经配置lnmp的/root/.ssh/id_rsa.pub的密钥添加到web 的key。
[[email protected] ~]# cat /root/.ssh/id_rsa.pub
密钥添加完后,我们就可以接下的安装了
#mkdir -p /data/www/walle-web && cd /data/www/walle-web # 新建目录 #yum install –y git/svn #git clone [email protected]:meolu/walle-web.git . # 代码检出
配置了keys后成功克隆如下:
[[email protected]]# git clone [email protected]:meolu/walle-web.git . Cloning into '.'... remote: Counting objects: 4511, done. remote: Total 4511 (delta 0), reused 0 (delta 0), pack-reused 4511 Receiving objects: 100% (4511/4511), 13.90 MiB | 316.00 KiB/s, done. Resolving deltas: 100% (2519/2519), done.
2.、配置mysql的连接
#vim config/local.php +22
'db' => [
'dsn' => 'mysql:host=127.0.0.1;dbname=walle', # 新建数据库walle
'username' => 'username', # 连接的用户名
'password' => 'password', # 连接的密码
],
详细配置如下:
3、创建数据库walle
[[email protected] walle-web]# mysql -uroot -p123456 MySQL [(none)]> create database walle; Query OK, 1 row affected (0.04 sec)
4.安装composer,如果已安装跳过
#curl -sS https://getcomposer.org/installer | php #mv composer.phar /usr/local/bin/composer # PATH目录
5.安装vendor
#cd /data/www/walle-web #composer install --prefer-dist --no-dev --optimize-autoloader -vvvv
安装速度慢或失败,可直接下载vendor解压到项目根目录
6.初始化项目
#cd /data/www/walle-web
./yii walle/setup # 需要你的 yes
7、配置nginx
nginx简单配置
# vim /usr/local/nginx/conf/vhost/walle.conf
这个可以新建虚拟主机,或者是直接在nginx.conf配置
server { listen 8088; server_name walle.compony.com; # 改你的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; } }
8、如果你是的使用oneinstack实现一键安装的,必须要注意的是把fastcgi_pass 127.0.0.1:9000;参数改为fastcgi_pass unix:/dev/shm/php-cgi.sock;,否则会出现502 Bateway的错误,其他的也是你可以查看nginx.conf文件的fastcgi_pass的选项与你的所新建的虚拟主机一致。
9、访问地址,登陆账号admin,密码:admin
部署成功,进入walle
10、项目的配置:
环境:宿主机-walle
目标主机-代码要分发到的普通的主机
Web-walle配置如下,配置可参考官网配置(http://www.walle-web.io/docs/git-configuration.html):
Walle主机:
#ps -ef |grep php 查看php-fpm的所属者,我的为www,下面需要配置ssh-keygren #mkdir /data/www/deploy # mkdir -p /home/www/.ssh # cp /root/.ssh/* /home/www/.ssh # chown -R www:www /home/www # chmod 600 /home/www/.ssh/*
目标主机:
如果没有www用户,需要新创建
#useradd www #echo 'www' | passwd --stdin www
Walle主机:
做www用户的免密认证
#ssh-copy-id [email protected]目标主机的ip
我是按官网配置的项目-Yii2项目的代码参照如下:
cp -rf {WORKSPACE}/backend/web/index-test.php {WORKSPACE}/backend/web/index.php cp -rf /data/www/mobile/yii2_test/vendor {WORKSPACE}/ cp -rf {WORKSPACE}/yii-test {WORKSPACE}/yii
检测项目发现有exec错误。
解决办法:
进入php.ini文件,找到
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
把其中的exec去掉,然后重启php
重新检测
检测成功,walle简单部署与应用就基本简单的实现。
以上是关于Walle的详细部署项目应用以及502bad gateway错误解决的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在尝试部署我的 wordpress 应用程序时收到消息“502 bad gateway”
记一次nginx部署yii2项目时502 bad gatewary错误的排查
将 Spring Boot 应用程序部署到 Elastic Beanstalk 时出现 502 Bad Gateway
Elastic Beanstalk Django 应用程序部署 502 Bad Gateway Server not running (No module named: 'application')
Nodejs 502 Bad Gateway 在 Elastic Beanstalk AWS 上部署 Express
使用 AWS Elastic Beanstalk 部署 Django 应用程序时出现 502 Bad Gateway nginx/1.20.0 错误