75 lines
1.7 KiB
Bash
Executable File
75 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# clone from git@git.opencomputing.cn/yumoqing/sage
|
|
# git clone https://git.opencomputing.cn/yumoqing/sage
|
|
cdir=$(pwd)
|
|
uname=$(id -un)
|
|
gname=$(id -gn)
|
|
sudo apt install redis-server
|
|
python3 -m venv py3
|
|
source py3/bin/activate
|
|
$cdir/py3/bin/pip install -r requirements.txt
|
|
mkdir pkgs
|
|
cd pkgs
|
|
dir=$(pwd)
|
|
for m in appbase rbac accounting llmage platformbiz msp cpcc pf_pay filemgr dapi uapi
|
|
do
|
|
echo "install $m module..."
|
|
cd $dir
|
|
git clone https://git.opencomputing.cn/yumoqing/$m
|
|
cd $dir/$m
|
|
$cdir/py3/bin/pip install .
|
|
cd $dir/$m/models
|
|
xls2ddl mysql . > mysql.ddl.sql
|
|
mysql -h db -utest -ptest123 sage < mysql.ddl.sql
|
|
cd $dir/$m/json
|
|
./build.sh
|
|
rm $cdir/wwwroot/$m
|
|
ln -s $dir/$m/wwwroot $cdir/wwwroot/$m
|
|
done
|
|
mkdir $cdir/logs
|
|
rm $cdir/wwwroot/bricks
|
|
ln -s /d/public/bricks $cdir/wwwroot
|
|
cd $cdir
|
|
cat > $cdir/sage.service <<EOF
|
|
[Unit]
|
|
Wants=systemd-networkd.service
|
|
|
|
[Service]
|
|
User=$uname
|
|
Group=$gname
|
|
Type=forking
|
|
WorkingDirectory=$cdir
|
|
ExecStart=$cdir/start.sh
|
|
ExecStop=$cdir/stop.sh
|
|
StandardOutput=append:/var/log/sage/sage.log
|
|
StandardError=append:/var/log/sage/sage.log
|
|
SyslogIdentifier=sage
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
cat > $cdir/start.sh <<EOF
|
|
#!/usr/bin/bash
|
|
cd $cdir
|
|
$cdir/py3/bin/python $cdir/app/sage.py -p 9180 -w $cdir &
|
|
$cdir/py3/bin/python $cdir/app/sage.py -p 9181 -w $cdir &
|
|
exit 0
|
|
EOF
|
|
cat > $cdir/stop.sh <<EOF
|
|
PORT=9182
|
|
PID=\$(lsof -t -i:\$PORT)
|
|
|
|
if [ -n "\$PID" ]; then
|
|
echo "找到端口 $PORT 的进程: PID=\$PID"
|
|
kill -9 \$PID
|
|
echo "已终止端口 $PORT 的进程"
|
|
else
|
|
echo "未找到端口 $PORT 的进程"
|
|
fi
|
|
EOF
|
|
chmod +x $cdir/start.sh stop.sh
|
|
sudo mkdir /var/log/sage
|
|
sudo cp sage.service /etc/systemd/system
|
|
sudo systemctl enable sage
|
|
sudo systemctl restart sage
|