فهرست منبع

新增Ubuntu系统支持

Alenx 6 سال پیش
والد
کامیت
e0a58e018e
1فایلهای تغییر یافته به همراه41 افزوده شده و 16 حذف شده
  1. 41 16
      admin.sh

+ 41 - 16
admin.sh

@@ -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