|
@@ -4,6 +4,10 @@
|
|
|
# mail: wushuiyong@walle-web.io
|
|
|
# Created Time: 2018年11月03日 星期六 06时09分46秒
|
|
|
#########################################################################
|
|
|
+# Update Time : 2019-03-05
|
|
|
+# Author: alenx <alenx.hai@gmail.com>
|
|
|
+# -->> 新增ubuntu初始化,全面支持Ubuntu环境(16.x/18.x)
|
|
|
+#########################################################################
|
|
|
#!/bin/bash
|
|
|
|
|
|
APP="waller.py"
|
|
@@ -11,17 +15,13 @@ APP="waller.py"
|
|
|
function init() {
|
|
|
echo "Initing walle"
|
|
|
echo "----------------"
|
|
|
- which pip
|
|
|
- if [ $? != "0" ]; then
|
|
|
- wget https://bootstrap.pypa.io/3.3/get-pip.py
|
|
|
- python get-pip.py
|
|
|
- fi
|
|
|
+ SystemName
|
|
|
+
|
|
|
pip install virtualenv
|
|
|
if [ ! -d "venv" ]; then
|
|
|
virtualenv --no-site-packages venv # 注意:安装失败请指定python路径. mac 可能会有用anaconda的python. 请不要mac试用, 麻烦多多
|
|
|
fi
|
|
|
- echo "安装/更新可能缺少的依赖: mysql-community-devel gcc gcc-c++ python-devel"
|
|
|
- sudo yum install -y mysql-devel gcc gcc-c++ python-devel MySQL-python
|
|
|
+
|
|
|
requirement
|
|
|
echo "************************************************"
|
|
|
echo -e "\033[32m init walle success \033[0m"
|
|
@@ -32,27 +32,53 @@ function requirement() {
|
|
|
source ./venv/bin/activate
|
|
|
pip install -r ./requirements/prod.txt
|
|
|
}
|
|
|
+
|
|
|
+function SystemName() {
|
|
|
+ source /etc/os-release
|
|
|
+ case $ID in
|
|
|
+ centos|fedora|rhel)
|
|
|
+ which pip
|
|
|
+ if [ $? != "0" ]; then
|
|
|
+ wget https://bootstrap.pypa.io/3.3/get-pip.py
|
|
|
+ python get-pip.py
|
|
|
+ fi
|
|
|
+ echo "安装/更新可能缺少的依赖: mysql-community-devel gcc gcc-c++ python-devel"
|
|
|
+ sudo yum install -y mysql-devel gcc gcc-c++ python-devel MySQL-python
|
|
|
+ ;;
|
|
|
+
|
|
|
+ debian|ubuntu|devuan)
|
|
|
+ echo "安装/更新可能缺少的依赖: ibmysqld-dev gcc gcc-c++ python-dev"
|
|
|
+ sudo apt update -y
|
|
|
+ sudo apt install -y libmysqld-dev python-dev virtualenv python-pip
|
|
|
+ ;;
|
|
|
+
|
|
|
+ *)
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+}
|
|
|
+
|
|
|
function start() {
|
|
|
echo "Starting walle"
|
|
|
echo "----------------"
|
|
|
source ./venv/bin/activate
|
|
|
mkdir -p logs
|
|
|
- nohup python $APP >> logs/runtime.log 2>&1 &
|
|
|
+ nohup python ${APP} >> logs/runtime.log 2>&1 &
|
|
|
echo -e "Start walle: [\033[32m ok \033[0m]"
|
|
|
echo -e "runtime: \033[32m logs/runtime.log \033[0m"
|
|
|
echo -e "error: \033[32m logs/error.log \033[0m"
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function stop() {
|
|
|
echo "Stoping walle"
|
|
|
echo "----------------"
|
|
|
# 获取进程 PID
|
|
|
- PID=$(ps -ef | grep $APP | grep -v grep | awk '{print $2}')
|
|
|
+ PID=$(ps -ef | grep ${APP} | grep -v grep | awk '{print $2}')
|
|
|
# 杀死进程
|
|
|
- kill -9 $PID
|
|
|
+ kill -9 ${PID}
|
|
|
echo -e "Stop walle: [\033[32m ok \033[0m]"
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function restart() {
|
|
|
stop
|
|
|
echo ""
|
|
@@ -64,7 +90,7 @@ function upgrade() {
|
|
|
echo "----------------"
|
|
|
cd $(dirname $0)
|
|
|
echo -e "建议先暂存本地修改\033[33m git stash\033[0m,更新后再弹出\033[33m git stash pop\033[0m,处理冲突。"
|
|
|
- source venv/bin/activate
|
|
|
+ source ./venv/bin/activate
|
|
|
git pull
|
|
|
}
|
|
|
|
|
@@ -93,7 +119,7 @@ echo "
|
|
|
function migration() {
|
|
|
echo "Migration walle"
|
|
|
echo "----------------"
|
|
|
- source venv/bin/activate
|
|
|
+ source ./venv/bin/activate
|
|
|
export FLASK_APP=waller.py
|
|
|
flask db upgrade
|
|
|
if [ $? == "0" ]; then
|
|
@@ -137,5 +163,4 @@ case "$1" in
|
|
|
echo "Usage: sh admin {init|start|stop|restart|upgrade|migration}"
|
|
|
echo "************************************************"
|
|
|
;;
|
|
|
-esac
|
|
|
-
|
|
|
+esac
|