centos/mac安裝rabbitmq

来源:互联网 发布:女生 喜欢的男人 知乎 编辑:程序博客网 时间:2024/05/17 09:19
首先介绍一下安装背景:celery定时任务的时候用到。
celery.py:
    # encoding:utf8
from __future__ import absolute_import
import os
from django.conf import settings
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE','root.settings')
app = Celery('p2p')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

@app.task(bind=True)
def debug_task(self):
   print('Request: {0!r}'.format(self.request))

settings.py:
    BROKER_URL ='amqp://guest:guest@localhost//'

CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND ='djcelery.backends.database:DatabaseBackend'

from datetime import timedelta

CELERYBEAT_SCHEDULE = {
   'p2p-watchdog-1-minutes': {
       'task': 'p2p.tasks.p2p_watchdog',
       'schedule': timedelta(minutes=1),
    },
    #'generate_report': {
      'task': 'root.tasks.generate_report',
      'schedule': timedelta(seconds=10),
    # }
}

执行任务命令:celery -A root worker -B -l debug
centos:
第一步:RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。
从Erlang的官网 http://www.erlang.org/download.html下载最新的erlang安装包,我下载的版本是 otp_src_18.0.tar.gz 。
$ tar xvzfotp_src_R14B03.tar.gz   #解压
$ cd otp_src_R14B03   #进入目录
$ ./configure

$ make
$ sudo make install

安装完Erlang,开始安装RabbitMQ-Server

主要参考官方文档:http://www.rabbitmq.com/build-server.html

然后安装RabbitMQ Server。从此处下载源代码版本的RabbitMQ: http://www.rabbitmq.com/server.html。我下载的版本是rabbitmq-server-3.5.3.tar.gz

$ tar xvzfrabbitmq-server-3.5.3.tar.gz
$ cd rabbitmq-server-3.5.3
$ make TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbinMAN_DIR=/usr/local/man

$ make install

在sbin/目录下出现了三个命令:
rabbitmqctl rabbitmq-env  rabbitmq-server

安装成功。

运行

找到sbin/目录,运行程序:
/usr/local/sbin/rabbitmq-server–detached

停止程序:
/usr/local/sbin/rabbitmqctlstop

错误集精:

1.需要安装ncurses(参考:http://blog.csdn.net/zccst/article/details/4493074)

yum list|grepncurses

yum installncurses-devel


如果你的系统是UbuntuDebian

apt-cache searchncurses

apt-get installlibncurses5-dev

2.安装netcat

3.yum installxmlto

4.In command notfound.(参考:http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html)

解决:ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln–s 源文件 目标文件。

5.supervisor监控进程

yum install supervisor

说明:supervisord -c /etc/supervisord.conf 启动

supervisorctl status查看状态


查看软件是否安装:whereis 软件名字

参考:http://blog.csdn.net/historyasamirror/article/details/6827870(感谢原博主)

mac:

在Mac下安装RabbitMQ是非常简单的,一般默认RabbitMQ服务器依赖的Erlang已经安装,只需要用下面两个命令就可以完成RabbitMQ的安装(前提是homebrew已经被安装):

安装homebrew:ruby-e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"

brew update

brew install rabbitmq

 

安装完成后需要将/usr/local/sbin添加到$PATH,可以将下面这两行加到~/.bash_profile或者~/.profile:

 

# RabbitMQ Config

 

export PATH=$PATH:/usr/local/sbin

参考:http://www.th7.cn/system/mac/201410/72532.shtml(同样感谢)

0 0
原创粉丝点击