在Linux操作系统上手工部署Dubbo服务-编写脚本

部署服务生产者

在Linux操作系统上手工部署Dubbo服务
1、环境变量配置
2、部署目录规范
3、手工维护Dubbo服务
4、自定义Dubbo服务维护的Shell脚本
5、服务维护注意事项在Linux操作系统上手工部署Dubbo服务
1、环境变量配置
Java环境变量----只需要JRE
vi /etc/profile
## java env
export JAVA_HOME=/usr/local/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/li/tools.jar:$JRE_HOME/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

source /etc/profile在Linux操作系统上手工部署Dubbo服务
2、部署目录规范
要避免应用迁移时的路径冲突在Linux操作系统上手工部署Dubbo服务
3、手工维护Dubbo服务
java -jar edu-service-xxx.jar &
kill PID

kill -9 PID在Linux操作系统上手工部署Dubbo服务
4、自定义Dubbo服务维护的Shell脚本
脚本命名规范:
/home/wusc/edu/service/xxx/service-xxx.sh
例如:
/home/wusc/edu/service/user/service-user.sh
效果:
cd /home/wusc/edu/service/user
. /service-user.sh start
. /service-user.sh stop

. /service-user.sh restart在Linux操作系统上手工部署Dubbo服务
5、服务维护注意事项(结合自定义的Shell脚本)
(1) 脚本规范---------尽可能通用
(2) 守护进程
(3) 内存调优设置-----按需调整
(4) 日志处理---------只保留应用Log4j输出的日志
(5) 避免服务冲突 ----进程名、端口
(6) 避免进程误杀-----全匹配

以下是一个启动,关闭,重启的脚本实例

#!/bin/sh

## java env
export JAVA_HOME=/usr/local/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre

## service name
APP_NAME=user

SERVICE_DIR=/home/wusc/edu/service/$APP_NAME
SERVICE_NAME=edu-service-$APP_NAME
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

case "$1" in

    start)
        nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME >/dev/null 2>&1 &
        echo $! > $SERVICE_DIR/$PID
        echo "=== start $SERVICE_NAME"
        ;;

    stop)
        kill `cat $SERVICE_DIR/$PID`
        rm -rf $SERVICE_DIR/$PID
        echo "=== stop $SERVICE_NAME"

        sleep 5
		##  -w 这个参数特别重要,不加可能把其他服务杀死,加上精确匹配
		## edu-service-aa.jar
		## edu-service-aa-bb.jar
        P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "=== $SERVICE_NAME process not exists or stop success"
        else
            echo "=== $SERVICE_NAME process pid is:$P_ID"
            echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"
            kill -9 $P_ID
        fi
        ;;

    restart)
        $0 stop
        sleep 2
        $0 start
        echo "=== restart $SERVICE_NAME"
        ;;

    *)
        ## restart
        $0 stop
        sleep 2
        $0 start
        ;;

esac
exit 0

部署消费者


Tomcat 中部署 web 应用
---- Dubbo 服务消费者 Web 应用 war 包的部署
IP: 192.168.2.61
部署容器: apache-tomcat-7.0.57
端口: 8080
应用: edu-web-boss.war
1、 下载(或上传)最新版的 Tomcat7:
$wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
2、 规范安装目录:
/home/wusc/edu/web/xxx-tomcat
如:
/home/wusc/edu/web/boss-tomcat

3、 解压安装
$ mkdir –p /home/wusc/edu/web
$ tar -zxvf apache-tomcat-7.0.57.tar.gz
$ mv apache-tomcat-7.0.57 /home/wusc/edu/web/boss-tomcat

4、 移除/home/wusc/edu/web/boss-tomcat/webapps 目录下的所有文件:
$ rm -rf /home/wusc/edu/web/boss-tomcat/webapps/*
5、 上传 Dubbo 服务消费者 Web 应用 war 包 edu-web-boss.war
到/home/wusc/edu/web/boss-tomcat/webapps
6、 防火墙开启 8080 端口, 用 root 用户修改/etc/sysconfig/iptables,
# vi /etc/sysconfig/iptables
增加:
## boss-tomcat:8080
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙:
# service iptables restart
7、 Tomat 内存设置:
$ vi /home/wusc/edu/web/boss-tomcat/bin/catalina.sh
#!/bin/sh
JAVA_OPTS='-Xms128m -Xmx512m -XX:PermSize=128m'

8、 启动 Tomat7
$ /home/wusc/edu/web/boss-tomcat/bin/startup.sh
基于 Dubbo 的分布式系统架构视频教程
作者: 吴水成, 840765167@qq.com, wu-sc@foxmail.com
龙果学院微信公众号: ron-coo
9、 浏览 http://192.168.2.61:8080/edu-web-boss
10、 配置 Tomcat 开机启动:
在虚拟主机中编辑/etc/rc.local 文件,加入:
su - wusc -c '/home/wusc/edu/web/boss-tomcat/bin/startup.sh'
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值