基於 Python 3.5 + Django 2.0 開發的運維管理系統

基於 Python 3.5 + Django 2.0 開發的運維管理系統

一、下載源碼地址:

https://github.com/PythonTra1nee/OPMS_v3

二、部署方法

1.環境安裝

系統 CentOS 6 或者 7

下載 Python

https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

2.放到服務器上面編譯安裝

yum -y install zlib-devel bzip2-devel wget openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
cd /usr/local/src
xz -d Python-3.6.2.tar.xz
tar -xf Python-3.6.2.tar
cd Python-3.6.2
./configure --prefix=/usr/local/python-36 --enable-shared CFLAGS=-fPIC
make && make install

3.添加環境變量

echo 'export PATH=$PATH:/usr/local/python-36/bin' >> /etc/profile
source /etc/profile

4.替換舊版本

mv /usr/bin/python /tmp
ln -s /usr/local/python-36/bin/python3.6 /usr/bin/python

5.修改 yum

vim /usr/bin/yum

把第一行用的 Python 換成本機 /usr/bin 下面 python2.* (CentOS 6 和 7 帶的 Python 版本不同)

6.修改庫文件

cp /usr/local/python-36/lib/libpython3.6m.so.1.0 /usr/lib64/

查看當前版本

python -V

7.服務配置

新建目錄,上傳 opms 到該目錄下

mkdir -p /opt/opms_website

修改 /opt/opms_website/opms/opms/settings.py 中的個人配置

  • 數據庫配置
  • 系統發送郵件郵箱配置,需要一個開啟 SMTP 的郵箱地址
  • 系統地址配置:
  • SERVER_URL:系統運行之後的訪問地址
  • WEBSSH_IP:遠程終端的服務地址,這裡其實是本機的 IP地址
  • WEBSSH_PORT:不需要修改,如果真的要改,需要修改 extra_apps/webssh/main.py 中的端口,改為一致
  • 高德地圖和城市:
  • GAODE_API_KEY:需要去高德地址開發者中心創建一個 KEY,很容易,這裡用於首頁的天氣功能
  • CITY_ID:默認的城市 ID,在內網訪問的時候提供城市天氣支持
  • 開發者郵箱 DEVELPER_EMAIL_ADDRESS,默認為我得,首頁反饋功能發送的消息最終發送給誰

8.安裝依賴

cd /opt/opms_website/opms
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

9.同步數據庫

python manage.py makemigrations
python manage.py migrate

10.創建超級用戶,根據提示創建

python manage.py createsuperuser

11,安裝環境

pip3 install uwsgi

12.建文件,添加配置:/etc/uwsgi.ini

[uwsgi]
//運行端口號
socket = 127.0.0.1:9090
//主進程
master = true
//多站模式
vhost = true
//多站模式時不設置入口模塊和文件
no-stie = true

//子進程數
workers = 2
reload-mercy = 10
//退出、重啟時清理文件
vacuum = true
max-requests = 1000
limit-as = 512
buffer-sizi = 30000
//pid文件,用於下面的腳本啟動、停止該進程
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log

創建啟動腳本:/etc/init.d/uwsgi

#!/bin/bash
NAME='uwsgi'
DAEMON='uwsgi'
CONFIGFILE="/etc/$NAME.ini"
PIDFILE="/var/run/$NAME.pid"
SCRIPTNAME="/etc/init.d/$NAME"

do_start() {
$DAEMON $CONFIGFILE || echo -n "uwsgi running"
}
do_stop() {
$DAEMON --stop $PIDFILE || echo -n "uwsgi not running"
rm -f $PIDFILE
echo "$DAEMON STOPED."
}
do_reload() {
$DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"
}
do_status() {
ps aux|grep $DAEMON
}
case "$1" in
status)
echo -en "Status $NAME: \n"
do_status
;;
start)
echo -en "Starting $NAME: \n"
do_start
;;
stop)
echo -en "Stopping $NAME: \n"

do_stop
;;
reload|graceful)
echo -en "Reloading $NAME: \n"
do_reload
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2
exit 3
;;
esac
exit 0

13.創建 nginx 虛擬主機

server {
# 設置網站運行端口
listen 10000;
server_name localhost;

location / {
include uwsgi_params;
# 必須和uwsgi中的設置一致
uwsgi_pass 127.0.0.1:9090;
# 入口文件,即wsgi.py相對於項目根目錄的位置,“.”相當於一 層目錄
uwsgi_param UWSGI_SCRIPT opms.wsgi;
# 項目根目錄
uwsgi_param UWSGI_CHDIR /opt/opms_website/opms;
index index.html index.htm;
client_max_body_size 35m;
}
# 靜態文件目錄
location /static/ {
alias /opt/opms_website/opms/static/;
index index.html index.htm;
}
}

14.啟動服務

/etc/init.d/uwsgi start

啟動 nginx

啟動 main.py

python /opt/opms_website/opms/extra_apps/webssh/main.py & >/dev/null

用之前創建的用戶登錄後臺

http://xxxx:10000/admin

15.初始化

  • 找到公司表,添加公司
  • 然後部門表添加部門
  • 然後職位表,添加職位
  • 最後找到用戶表,完善當前用戶的一些用戶信息

初始化平臺

找到平臺表,添加你們公司用到的一些平臺,如 zabbix,jenkins 等,logo 路徑為 opms/media/platform-management/logo 下面 添加時候,如 zabbix logo 只需要寫 platform-management/logo/zabbix.png 即可

服務正常使用

http://xxxx:10000


分享到:


相關文章: