Centos7-walle2.0
安装前了解
Linux + Bash(git、ssh)
意味着不支持win,也不要装在mac,兼容性问题
Python 3.5+ 和 Python 2.7+
MySQL 5.6.5以上,否则会在安装时报错
在MySQL 5.6.5版本之前,Automatic Initialization and Updating只适用于TIMESTAMP,而且一张表中,最多允许一个TIMESTAMP字段采用该特性。从MySQL 5.6.5开始,Automatic Initialization and Updating同时适用于TIMESTAMP和DATETIME,且不限制数量。
将所有目标主机 加入 宿主机(walle安装所在机器)ssh免密登录配置
walle 让用户代码发布终于可以不只能选择 jenkins!支持各种web代码发布,php、java、python、go等代码的发布、回滚可以通过web来一键完成。walle 一个可自由配置项目,更人性化,高颜值,支持git、多用户、多语言、多项目、多环境同时部署的开源上线部署系统。
环境:(一台配置了LAMP/LNMP的linux机器,并且安装git/svn)上操作
以下是基于CentOS 7.6.1810安装
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安装的系统自身的mariaDB(未验证)
#yum install -y mariadb-devel gcc gcc-c++ python-devel |
依赖
yum install -y mysql-devel gcc gcc-c++ python-devel MySQL-python
安装myqsl
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server
配置默认编码为UTF-8
vim /etc/my.cnf
character_set_server=utf8
init_connect='SET NAMES utf8'
设置开机自启
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
安装nginx和php
yum -y install nginx php
systemctl enable nginx
systemctl start nginx
在github配置keys,使用git来克隆(前提要有账号)
把本地已经配置lnmp的/root/.ssh/id_rsa.pub的**添加到web 的key。
ssh-******
cat /root/.ssh/id_rsa.pub
yum install –y git/svn
mkdir -p /data/walle # 新建目录,也是你的虚拟walle的目录
cd /data/walle/
git clone [email protected]:meolu/walle-web.git # walle2.0代码检出
整个项目都是通过admin.sh,来启动的,主要有下面两个(暂时不执行)。
#sh admin.sh start #启动walle端口服务
#sh admin.sh migration #加载数据库,创建表与添加数据
walle安装
配置虚拟主机,添加虚拟启动目录
cd /etc/nginx/
cp nginx.conf nginx.conf.bak
#注意include在http字段下,server字段外
cd conf.d/
touch walle.conf
vim walle.conf
upstream webservers {
server 10.24.45.13:5000 weight=1; #这个是walle项目的启动端口
}
server {
listen 80;
server_name server.walle.com; # walle域名设置,这个域名设置比较重要,需要在walle的配置一致
access_log /data/walle.log combined;
index index.html index.htm index.php; # 日志目录
location / {
try_files $uri $uri/ /index.html;
add_header access-control-allow-origin *;
root /data/walle/walle-web/fe; # 前端代码已集成到walle-web,即walle-web/fe的绝对路径
}
location ^~ /api/ {
add_header access-control-allow-origin *;
proxy_pass http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
}
location ^~ /socket.io/ {
add_header access-control-allow-origin *;
proxy_pass http://webservers;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Origin $host:$server_port;
proxy_set_header Referer $host:$server_port;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# WebScoket Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
重启nginx
systemctl restart nginx
配置hosts指定
如果虚拟主机配置是应用IP与端口,这个就可以不配置,不过不建议,毕竟用域名管理比较好,毕竟一个主机有多台虚拟主机。
vim /etc/hosts
10.24.45.13 server.walle.com
配置walle配置参数
pwd
/data/wwwroot/walle-web
cp walle/config/settings_prod.py walle/config/settings_prod.py.bak
vim walle/config/settings_prod.py
安装Python2.7+pip
sh admin.sh init
#这一步很重要执行也比较慢,耐心等待
最后执行成功显示如下:
创建数据库,并添加表与数据
mysql -uroot -pRfd.com -e'CREATE SCHEMA walle'
执行创建表的脚本命令
sh admin.sh migration
启动walle
#sh admin.sh start或者#sh admin.sh restart
登录(由于我们本地添加了hosts,windows也需要加,所以可以使用域名访问)
默认提供的账户登录
超管:[email protected] \ Walle123
所有者:[email protected] \ Walle123
负责人:[email protected] \ Walle123
开发者:[email protected] \ Walle123
访客:[email protected] \ Walle123
模拟代码上线
可编辑空间名称
新建用户—添加用户权限
新建环境
添加服务器
注意服务器的用户和端口
新建项目
提交之后成员管理处授予用户对项目的权限
部署项目的时候要注意:
下面的操作一定是在目标主机,也就是上面服务器推到目标集群的服务器上操作
目标集群部署路径一定要存在,且唯一
mkdir -p /data/www
chown -R root.rooot /data/www/
点击提交之后检测项目
模拟上线
下面这一步要注意
点击提交之后需要审核
上线完成,然后去看目标主机对应得目录就会有数据
到此模拟完成。