zoukankan      html  css  js  c++  java
  • 鱼仔系统部署教程

    下载地址:

    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 #停止所有的进程


     

    未来的你一定会羡慕奋斗的自己
  • 相关阅读:
    Linux内核源码分析方法
    OVS处理upcall流程分析
    Linux内核源码目录结构分析
    理解OpenStack中的OpenvSwitch的几个要点
    OVS源码connmgr_run分析
    ovs-appctl 命令合集
    云计算底层技术-使用openvswitch
    OVS架构
    Open vSwitch Datapath浅析
    Openvswitch原理与代码分析(4):网络包的处理过程
  • 原文地址:https://www.cnblogs.com/fangxuanlang/p/10138216.html
Copyright © 2011-2022 走看看