搭建局内网测试Java_快速搭建内网测试网络,简单模拟WEB集群

svn项目

模拟WEB集群

后端WEB集群192.168.1.231:8080和192.168.1.232:8080.WEB后端可以按照需要增加,不同目录启动不同端口,通过使用192.168.1.231:80作为负载均衡访问.

upstream www.front.com

{

server 192.168.1.232:8080;

server 192.168.1.231:8080;

}

server

{

listen 80;

server_name 192.168.1.231;

location / {

proxy_pass http://www.front.com;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

SVN自动发布

使用SVN提交时,注释中输入"auto_deploy",自动发布到231,232的项目测试服务器.svn钩子文件post-commit

#!/bin/bash

REPOS="$1"

REV="$2"

if ( svnlook log -r $REV /data/www/svn/gtl/ |grep "auto_deploy" )

then

echo "`date` auto_deploy">> /tmp/testsvn.log

#front1

ssh root@192.168.1.231 'svn revert -R /data/wwwroot/gtl --username "sylar" --password "gtl1023"'

ssh root@192.168.1.231 'svn update /data/wwwroot/gtl/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.231 'chown www.www -R /data/wwwroot/gtl'

#front2

ssh root@192.168.1.232 'svn revert -R /data/wwwroot/gtl --username "sylar" --password "gtl1023"'

ssh root@192.168.1.232 'svn update /data/wwwroot/gtl/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.232 'chown www.www -R /data/wwwroot/gtl'

#admin

ssh root@192.168.1.232 'svn revert -R /data/wwwroot/admin/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.232 'svn update /data/wwwroot/admin/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.232 'chown www.www -R /data/wwwroot/admin'

#API

ssh root@192.168.1.235 'svn revert -R /data/wwwroot/api/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.235 'svn update /data/wwwroot/api/ --username "sylar" --password "gtl1023"'

ssh root@192.168.1.235 'chown www.www -R /data/wwwroot/api'

fi

另外一个SVN钩子,强制SVN提交时输入注释

#!/bin/sh

REPOS="$1"

TXN="$2"

SVNLOOK=/usr/bin/svnlook

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)

if [ "$LOGMSG" -lt 10 ]; then

echo -e "\n 提交文件时必须添加注释,提交中止."1>&2

exit 1

fi

git项目

GIT钩子post-receive

代码服务器的git用户需要对目标机器做ssh密钥授权,并且保证能够以目标机器的sudo用户登录

#!/bin/sh

IS_BARE=$(git rev-parse --is-bare-repository)

if [ -z "$IS_BARE" ]; then

echo >&2 "fatal: post-receive: IS_NOT_BARE"

exit 1

fi

unset GIT_DIR

echo "==============================================="

ssh gtl@xxx.xxx.xxx.xxx '/bin/bash /home/project/local.sh'

ssh gtl@xxx.xxx.xxx.xxx '/bin/bash /home/project/local.sh'

ssh gtl@xxx.xxx.xxx.xxx '/bin/bash /home/project/local.sh'

echo "====================done======================="

目标机local.sh

目标机器需要首先克隆仓库到本地/data/source_code/. /data/backup/settings.py为项目的配置文件,先备份再cp,然后重启项目.目标机器的git需要cp,chown权限

#!/bin/bash

cd /data/source_code/

sudo git pull

sudo cp /data/wwwroot/project/bcdemo/settings.py /data/backup/settings.py -f

sudo cp /data/source_code/* /data/wwwroot/project/ -a

sudo cp /data/backup/settings.py /data/wwwroot/project/bcdemo/settings.py -f

sudo chown www.www /data/wwwroot/project/ -R

sudo systemctl stop demo

sudo systemctl restart demo

sudo echo "update done,`date -d today +"%Y-%m-%d %T"`" >> /home/project/test.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值