前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Frigga自动安装脚本(linux5.8/6.5测试稳定)

Frigga自动安装脚本(linux5.8/6.5测试稳定)

原创
作者头像
用户7108768
修改2021-11-01 09:16:33
6810
修改2021-11-01 09:16:33
举报
代码语言:javascript
复制
#!/bin/bash
PATH="$PATH:/usr/local/bin:/usr/bin"
RUBY_VERSION="2.2.3"
RUBY_NAME="ruby-$RUBY_VERSION"
RUBY_FILE_TAR="$RUBY_NAME.tar.gz"
SOFT_DIR="/opt/soft"
INSTALL_DIR="/opt/ops/Frigga"
HTTP_CONF="conf/frigga.yml"
FRIGGA_CMD="/opt/ops/Frigga/bin/frigga.rb"
FRIGGA_BIN_DIR=dirname $FRIGGA_CMD
ADMIN="admin"
PASSWD="pswd"
PORT="5555"
REBOOT_RUN="/etc/rc.local"
ENV_FILE="/etc/profile"
 OS:
OS=cat /etc/issue|head -1|awk '{print $3}'|cut -d'.' -f 1
 Install gcc
yum -y install gcc gcc-c++ zlib git openssl openssl-devel
 Install ruby && gem
[ -d "$INSTALL_DIR" ] && rm -rf $INSTALL_DIR
mkdir -p $INSTALL_DIR
mkdir -p $SOFT_DIR
cd $SOFT_DIR
[ -f "$RUBY_FILE_TAR" ] && rm -f $RUBY_FILE_TAR
[ -d "$RUBY_NAME" ] && rm -rf $RUBY_NAME
which ruby > /dev/null 2>&1
if [ $? -eq 0 ]; then
    yum -y remove ruby
fi
wget --no-check-certificate https://cache.ruby-lang.org/pub/ruby/2.2/$RUBY_FILE_TAR
tar -zxf $RUBY_FILE_TAR
cd $RUBY_NAME
./configure
make
make install
ln -s /usr/local/bin/ruby /bin/ruby
ln -s /usr/local/bin/ruby /usr/bin/ruby
ln -s /usr/local/bin/gem /bin/gem
gem source -r https://rubygems.org/ -a https://ruby.taobao.org/
if [ $? != 0 ];then
  echo "====Error:"
  echo "gem source -r https://rubygems.org/ -a https://ruby.taobao.org/   FAIL!"
  exit 1
fi
gem install bundle eventmachine
ln -s /usr/local/bin/bundle /bin/bundle
ln -s /usr/local/bin/thor /bin/thor
 Install Frigga && god
cd $INSTALL_DIR
which git > /dev/null 2>&1
if [ $? != 0 ];then
    if [ $OS -eq 5 ]; then
        cd /tmp
        wget https://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
        rpm -ivh epel-release-5-4.noarch.rpm
    fi
    if [ $OS -eq 6 ]; then
        cd /tmp
        wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
        rpm -ivh epel-release-6-8.noarch.rpm
    fi
    yum -y install git
fi
which git > /dev/null 2>&1
[ $? != 0 ] && echo "git is not exist." && exit 1
cd $INSTALL_DIR
git clone https://github.com/xiaomi-sa/frigga.git $INSTALL_DIR
[ $? != 0 ] && echo "git Frigga FAIL." && exit 1
ln -s $FRIGGA_CMD /bin/frigga
mkdir gods
mkdir conf.d
chmod 777 log/
sed -i "s/admin/$ADMIN/;s/123/$PASSWD/;s/9001/$PORT/" $HTTP_CONF
sed -i "s/^frigga_path/#&/g" $FRIGGA_CMD
sed -i "s#{frigga_path}$FRIGGA_BIN_DIR*g" $FRIGGA_CMD
sed -i "sruby/bin/ruby*g" $FRIGGA_CMD
ruby ./script/run.rb start
ln -s /usr/local/bin/god /bin/god
 Reboot auto run
RUN_CONTENT="""
 第一次启动会失败,所以添加两次 Frigga:
/bin/ruby /opt/ops/Frigga/script/run.rb start >> /tmp/god_err.log 2>&1
/bin/ruby /opt/ops/Frigga/script/run.rb start >> /tmp/god_err.log 2>&1
"""
echo "$RUN_CONTENT" >> $REBOOT_RUN
 Tomcat add config
 cp setenv.sh /tomcat/bin
 chown lbs:lbs /tomcat/bin/setenv.sh
 chmod +x /tomcat/bin/setenv.sh</pre>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档