魚仔系統部署教程


下載地址:

https://github.com/qingduyu/roe

1. 基本需求

1.1 系統推薦配置

生產建議使用:8核以上(python相當消耗cpu),16G以上內存 (數據傳輸很大的),磁盤 350G 以上

測試建議使用:cpu 4核以上,ram 8G以上,disk 50G以上

1.2 基礎軟件需求

python2.7 (自編譯),  mysql 5.6以上(暫時不做安裝教程指導)  , redis (暫時本機單機版,不做教程,不設密碼)

1.3 yum 安裝的軟件

yum install epel-release

yum install sshpass nmap supervisor

1.4.本機的ssh-key生成

ssh-keygen  一路回車

2. python 2.7 的虛擬環境(還是決定添加)

2.1 編譯2.7

編譯前的依賴安裝

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

自己下載2.7.15 進行編譯

    cd Python-2.7.15

  ./configure --prefix=/usr/local/python2.7

   make -j 4

  make install

安裝pip

wget https://bootstrap.pypa.io/get-pip.py
/usr/local/python2.7/bin/python get-pip.py


部署python 虛擬環境

/usr/local/python2.7/bin/pip install virtualenv
mkdir /data/python-env
/usr/local/python2.7/bin/virtualenv -p /usr/local/python2.7/bin/python2.7 --distribute /data/python-env/

source /data/python-env/bin/activate

 

3.mysql的配置

數據庫的配置信息在

roeops/settings.py 中查找

create database roeops

create user roeops identified by 'roeops123'

grant all on roeops.* to roeops

 

導入 roeops.sql

注意 這里面已經初始化了 admin 用戶,不要再做django 的 makemigration  ,除非你懂得如何做

 

4.配置啟動roeops(這是關鍵)

要在python虛擬環境下

roeops 默認部署在

/data/PycharmProject/roeops 

目錄下,自己酌情修改目錄,pip 安裝依賴

pip install -r requirements.txt

 

 

啟動 roeops

nohup python manager runserver 0.0.0.0:80 &

 

5.配置 celery  這是必須的,目錄注意自己改

 

vim   /etc/supervisord.conf   文件尾部添加

 1 ;三個工人處理隊列
 2 [program:celery-worker-default]
 3 command=/data/python-env/bin/python manage.py celery worker --loglevel=info -E -Q default
 4 directory=/data/PycharmProject/roeops
 5 stdout_logfile=/data/PycharmProject/roeops/logs/celery-worker-default.log
 6 autostart=true
 7 autorestart=true
 8 redirect_stderr=true
 9 stopsignal=QUIT
10 numprocs=1
11 
12 [program:celery-worker-ansible]
13 command=/data/python-env/bin/python manage.py celery worker --loglevel=info -E -Q ansible
14 directory=/data/PycharmProject/roeops
15 stdout_logfile=/data/PycharmProject/roeops/logs/celery-worker-ansible.log
16 autostart=true
17 autorestart=true
18 redirect_stderr=true
19 stopsignal=QUIT
20 numprocs=1
21 
22 [program:celery-worker-database]
23 command=/data/python-env/bin/python manage.py celery worker --loglevel=info -E -Q database
24 directory=/data/PycharmProject/roeops
25 stdout_logfile=/data/PycharmProject/roeops/logs/celery-worker-database.log
26 autostart=true
27 autorestart=true
28 redirect_stderr=true
29 stopsignal=QUIT
30 numprocs=1
31 ;Celery默認任務單元由任務生產者觸發,但有時可能需要其自動觸發,而Beat進程正是負責此類任務,能夠自動觸發定時/周期性任務.
32 [program:celery-beat]
33 command=/data/python-env/bin/python manage.py celery beat
34 directory=/data/PycharmProject/roeops
35 stdout_logfile=/data/PycharmProject/roeops/logs/celery-beat.log
36 autostart=true
37 autorestart=true
38 redirect_stderr=true
39 stopsignal=QUIT
40 numprocs=1
41 ;對事件進行快照,就是監控事件的工作情況,默認1秒一個,可以調整
42 [program:celery-cam]
43 command=/data/python-env/bin/python manage.py celerycam --frequency=0.5
44 directory=/data/PycharmProject/roeops
45 stdout_logfile=/data/PycharmProject/roeops/logs/celery-celerycam.log
46 autostart=true
47 autorestart=true
48 redirect_stderr=true
49 stopsignal=QUIT
50 numprocs=1

 


 # 啟動celery

/usr/bin/supervisord -c /etc/supervisord.conf
supervisorctl status    #查看running狀態,如果沒啟動就去看日志奧,會有報錯提示的,
'''
#管理 supervisord

supervisorctl update #  更新了配置文件,就要更新

supervisorctl reload # 每次更新了python中的task 就要reload ,不然你的task

supervisorctl start program_name #單獨啟動(program_name=配置文件中的程序名稱)

supervisorctl #查看正在守候的進程

pervisorctl stop program_name   #停止某一個程序(program_name=配置文件中的程序)

supervisorctl restart program_name #重啟某一個進程(program_name=配置文件中的程序)

supervisorctl stop all #停止所有的進程

 

 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM