centos rpm rabbitmq?centos7安装rpm

大家好,感谢邀请,今天来为大家分享一下centos rpm rabbitmq的问题,以及和centos7安装rpm的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

CentOS7下RabbitMQ安装配置

在 CentOS 7下安装并配置 RabbitMQ的过程涉及多个步骤,从安装依赖到配置环境直至启动和管理服务。以下为详细步骤,以确保顺利搭建 RabbitMQ环境。

首先,确保系统环境符合 RabbitMQ运行需求。建议使用 root用户进行操作,以确保软件在系统中正确安装。

1.下载安装包

安装过程分为 Erlang和 RabbitMQ两个部分。Erlang是 RabbitMQ的运行基础。

1.1安装 Erlang

访问 Erlang官方仓库,下载最新版安装包。

运行以下命令安装依赖库:

yum-y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

下载并解压 Erlang安装包到指定目录,例如/home/erlang。

配置安装路径和目录结构,执行相应命令。

执行安装命令并添加环境变量,使 Erlang可以在系统中使用。

验证 Erlang安装是否成功,运行 erl和 crypto:start()命令。

1.2解决 Erlang安装问题

如果遇到 Erlang安装失败,特别是与 openssl兼容性问题,需重新编译 openssl。

下载 openssl-1.0.2k源码包,解压并进入目录。

配置新安装的 openssl路径,执行相应命令。

在 Makefile中修改 CFLAG参数,包含-fPIC选项。

重新编译并安装 openssl。

确保 Erlang源码目录已清洁,然后重新配置并编译 Erlang。

2.安装 RabbitMQ

完成 Erlang安装后,下载 RabbitMQ安装包,解压并配置环境变量。

2.1解压并配置 RabbitMQ

解压 RabbitMQ安装包,解压命令通常为:

/bin/xz-d rabbitmq-server-generic-unix-3.7.15.tar.xz

解压并移动至指定目录。

修改环境变量以使 RabbitMQ可在系统中执行。

3.启动与配置服务

设置 RabbitMQ服务,启动并配置开机启动。

3.1启动服务

使用 `rabbitmq-server-detached`命令启动 RabbitMQ。

检查服务状态,使用 `rabbitmqctl status`命令。

停止服务,使用 `rabbitmqctl stop`命令。

3.2开启访问端口

使用防火墙命令开启端口 5672和 15672。

重启防火墙以使配置生效。

3.3开启管理控制台

激活 RabbitMQ管理插件。

通过 IP地址 127.0.0.1:15672访问控制台,默认用户为 guest。

3.4配置用户权限

添加用户,设置密码,分配权限,包括访问、操作和发布消息等。

通过命令列表查看所有用户。

使用 `rabbitmqctl add_user`命令添加新用户。

设置用户权限,包括访问范围和操作权限。

使用 `rabbitmqctl set_permissions`命令配置权限。

3.5测试远程访问

在配置用户权限后,重启 RabbitMQ服务,使用新用户名密码登录控制台。

通过 IP地址访问 RabbitMQ控制台。

验证权限和功能是否按预期工作。

总结

遵循以上步骤,在 CentOS 7环境下成功安装并配置 RabbitMQ。确保所有服务正常运行,并根据实际需求调整权限设置,以优化系统安全性和性能。

CentOS7下安装erlang和rabbitmq

1、首先在usr/local目录下创建一个erlang目录,并进入该目录

2、在此目录下下载最新版本的erlang,当前版本为20.0

3、下载完成后,检查目录内容

4、解压下载的文件

5、由于编译安装Erlang对环境有要求,为避免编译时出现软件包未安装的错误,预先使用yum安装Erlang所需的软件包

yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel-y

yum install openssl-devel zlib-devel–y

yum-y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel

执行完上述三条yum命令后,开始编译安装erlang

回到创建的erlang目录,进入解压后的文件夹

6、执行configure命令,指定安装目录为/opt/erlang

./configure--prefix=/opt/erlang--with-ssl-enable-threads-enable-smmp-support-enable-kernel-poll--enable-hipe--without-javac

出现以下内容表示配置完成

7、使用make命令进行编译

make&& make install

编译过程可能需要大约10分钟

安装完成后,创建软连接

ln-s/opt/erlang/bin/erl/usr/local/bin/erl

测试Erlang安装是否成功,进入/usr/local/bin目录

erl

出现如下提示信息,表示Erlang安装成功

Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.0(abort with ^G)

1>

在1>后输入EvenN= lists:filter(fun(N)-> N rem 2== 0 end, lists:seq(1,100)).

出现以下提示信息

[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,

44,46,48,50,52,54,56,58|...]

2>

输入halt().

此时,Erlang已安装成功,接下来修改环境变量

vim/etc/profile

在文件末尾输入以下信息

ERLANG_HOME=opt/erlang

PATH=$ERLANG_HOME/bin:$PATH

export ERLANG_HOME

export PATH

保存并退出文件,然后重新激活环境变量

source/etc/profile

验证环境变量是否已追加成功

echo$ERLANG_HOME

echo$PATH

OK,Erlang安装完成。

下载最新版本的rabbitmq,当前最新版本为3.6.10

回到erlang目录下,使用命令

wget rabbitmq.com/releases/r...

在执行wget命令时,如果出现openssl版本过低,需要更新的错误,使用命令yum update-y wget,更新完成后再次执行wget命令

查看下载的文件

下载的文件名为rabbitmq-server-generic-unix-3.6.10.tar.xz,需要安装xz解压软件

yum-y install xz

解压rabbitmq

xz-d rabbitmq-server-generic-unix-3.6.10.tar.xz

tar-xvf rabbitmq-server-generic-unix-3.6.10.tar

将解压后的文件移动到安装目录

mv rabbitmq_server-3.6.10/opt/

进入rabbitmq的sbin目录,有两种启动方式:前台启动和后台启动

命令分别是

前台启动:./rabbitmq-server

后台启动:./rabbitmq-server-detached

开启插件管理页面:./rabbitmq-plugins enable rabbitmq_management

关闭服务:./rabbitmqctl stop

设置登录账号和密码

./rabbitmqctl add_user admin 123456

设置用户类型

./rabbitmqctl set_user_tags admin administrator

设置用户权限

./rabbitmqctl set_permissions-p/ admin".*"".*"".*"

由于使用页面管理,启动后开启页面插件,并关闭防火墙,使用ip地址登录

输入设置的账号和密码进行登录

看到右上角的账号和版本信息,表示rabbitmq已成功运行

django如何调用ansible(2023年最新分享)

导读:本篇文章首席CTO笔记来给大家介绍有关django如何调用ansible的相关内容,希望对大家有所帮助,一起来看看吧。

如何在django中使用ansible-playbook命令执行yaml文件

一、安装

1、安装第三方epel源

centos5的epel

rpm-ivh

rpm-ivh

17:01:30#cat/etc/issue

CentOSrelease6.5(Final)

Kernel\ronan\m

由于是6版本所以安装6的epel

yuminstallansible

如果需要自定义module或者想阅读源码、使用最新版本,可以去github里下载源码

gitclone

17:22:08#cd/etc/ansible/

root@ip-10-10-10-10:/etc/ansible

17:23:27#ll

total12

-rw-r--r--1rootroot5113Dec2903:00ansible.cfg

-rw-r--r--1rootroot965Dec2903:00hosts

其中ansible.cfg是配置文件,hosts是管理主机信息

17:24:44#cathosts

172.17.0.2:49154

172.17.0.4:49155

[zabbix]

172.17.0.2:49154

172.17.0.4:49155

[vpn]

172.17.0.10

16:20:57#ansible127*-mping

SSHpassword:

127.0.0.1|success{

"changed":false,

"ping":"pong"

}

root@ip-10-10-10-10:/etc/ansible

16:21:05#ansible172*-mping

SSHpassword:

172.17.0.5|success{

"changed":false,

"ping":"pong"

}

172.17.0.4|success{

"changed":false,

"ping":"pong"

}

172.17.0.2|success{

"changed":false,

"ping":"pong"

}

如果你有多台服务器的话,想并发运行,可以使用-f参数,默认是并发5

11:30:35#ansiblevpn-mshell-a"echo$TERM"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success|rc=0

xterm

11:30:44#ansiblevpn-mcopy-a"src=/tmp/serverdest=/tmp/server"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success{

"changed":true,

"dest":"/tmp/server",

"gid":505,

"group":"test",

"md5sum":"e8b32bc4d7b564ac6075a1418ad8841e",

"mode":"0664",

"owner":"test",

"size":7,

"src":"/home/test/.ansible/tmp/ansible-1402630447.45-253524136818424/source",

"state":"file",

"uid":503

}

去客户端查看文件是否传输过来

11:34:57#ansiblevpn-mshell-a"ls-l/tmp/"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success|rc=0

total76

-rw-r--r--1rootroot41692May2113:02config

-rw-r--r--1rootroot1228Jun1218:24install_pptpd_vpn.sh

-rw-rw-r--1testtest7Jun1319:33server

-rw-r--r--1rootroot82Jun1218:21test.log

-rw-r--r--1rootroot290Jun1218:21test.sh

-rw-r--r--1rootroot2444Apr282012vpn_centos6.sh

-rw-------1rootroot727Jun1018:21yum_save_tx-2014-06-10-18-21UrqDAp.yumtx

-rw-rw-r--1zabbixzabbix3124Jun1221:32zabbix_agentd.log

-rw-rw-r--1zabbixzabbix5Jun1221:32zabbix_agentd.pid

11:35:09#ansiblevpn-mshell-a"cat/tmp/server"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success|rc=0

server

还有另外一个模块file,可以修改用户与权限

13:50:07#ansiblevpn-mshell-a"ls-l/tmp/server"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success|rc=0

-rw-rw-r--1testtest7Jun1319:33/tmp/server

server文件是664权限,用户与组都是test

13:51:17#ansiblevpn-mfile-a"dest=/tmp/servermode=755owner=rootgroup=root"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success{

"changed":true,

"gid":0,

"group":"root",

"mode":"0755",

"owner":"root",

"path":"/tmp/server",

"size":7,

"state":"file",

"uid":0

}

root@ip-10-10-10-10:/etc/ansible

13:51:31#ansiblevpn-mshell-a"ls-l/tmp/server"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success|rc=0

-rwxr-xr-x1rootroot7Jun1319:33/tmp/server

14:20:30#ansiblevpn-myum-a"name=nmapstate=installed"-utest--private-key=denglei-K

SSHpassword:

sudopassword[defaultstoSSHpassword]:

172.17.0.10|success{

"changed":true,

"msg":"",

"rc":0,

"results":[

"Loadedplugins:fastestmirror,security\nLoadingmirrorspeedsfromcachedhostfile\n*epel:mirrors.hust.edu.cn\nSettingupInstallProcess\nResolvingDependencies\n--Runningtransactioncheck\n---Packagenmap.x86_642:5.51-3.el6willbeinstalled\n--FinishedDependencyResolution\n\nDependenciesResolved\n\n================================================================================\nPackageArchVersionRepositorySize\n================================================================================\nInstalling:\nnmapx86_642:5.51-3.el6Base2.7M\n\nTransactionSummary\n================================================================================\nInstall1Package(s)\n\nTotaldownloadsize:2.7M\nInstalledsize:9.7M\nDownloadingPackages:\nRunningrpm_check_debug\nRunningTransactionTest\nTransactionTestSucceeded\nRunningTransaction\n\rInstalling:2:nmap-5.51-3.el6.x86_641/1\n\rVerifying:2:nmap-5.51-3.el6.x86_641/1\n\nInstalled:\nnmap.x86_642:5.51-3.el6\n\nComplete!\n"

]

}

三、playbook配置管理

A.进行一下shell模块操作,测试删除文件

先查看一下客户端的server-test是否存在

[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k

SSHpassword:

172.17.0.10|success|rc=0

-rw-rw-r--1testtest7Jun1400:37/tmp/server-test

然后写一个删除的playbook

[root@puppetansible]#cattest.yml

---

-hosts:vpn

remote_user:test

tasks:

-name:delete/tmp/server-test

shell:rm-rf/tmp/server-test

[root@puppetansible]#ansible-playbooktest.yml--private-key=/root/denglei-k

[WARNING]:Theversionofgmpyouhaveinstalledhasaknownissueregarding

timingvulnerabilitieswhenusedwithpycrypto.Ifpossible,youshouldupdate

it(ie.yumupdategmp).

SSHpassword:

PLAY[vpn]********************************************************************

GATHERINGFACTS***************************************************************

ok:[172.17.0.10]

TASK:[delete/tmp/server-test]***********************************************

changed:[172.17.0.10]

PLAYRECAP********************************************************************

172.17.0.10:ok=2changed=1unreachable=0failed=0

[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k

SSHpassword:

172.17.0.10|FAILED|rc=2

ls:cannotaccess/tmp/server-test:Nosuchfileordirectory

B.进行一下template模块操作,测试文件传输

[root@puppetansible]#catcopy.yml

---

-hosts:vpn

remote_user:test

tasks:

-name:copylocalservertoclient/tmp/server-test

template:src=/tmp/serverdest=/tmp/server-test

[root@puppetansible]#ansible-playbookcopy.yml--private-key=/root/denglei-k

[WARNING]:Theversionofgmpyouhaveinstalledhasaknownissueregarding

timingvulnerabilitieswhenusedwithpycrypto.Ifpossible,youshouldupdate

it(ie.yumupdategmp).

SSHpassword:

PLAY[vpn]********************************************************************

GATHERINGFACTS***************************************************************

ok:[172.17.0.10]

TASK:[copylocalservertoclient/tmp/server-test]**************************

changed:[172.17.0.10]

PLAYRECAP********************************************************************

172.17.0.10:ok=2changed=1unreachable=0failed=0

[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k

SSHpassword:

172.17.0.10|success|rc=0

-rw-rw-r--1testtest7Jun1417:07/tmp/server-test

C.使用service模块,测试一下服务重启

python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件

在Django项目开发中,不能像正常web开发一样通过'imgs/bg.jpg'访问本地静态文件,需要做一些配置,才能实现静态文件的访问。

一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。

二、项目配置

1、打开settings.py,在底部添加:

2、打开urls.py,在urlpatterns中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了importsettings):

(不过我经过实测,不加这一个,也可以完成静态文件的访问)

3、在html模板最上面添加:

然后在需要的地方按照这个格式进行调用,如:

最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。

初学者,求教django1.8如何调用python3.4脚本的问题

下面来看下在python3.4中,如何与Linux交互的。在python里面可以操作linux的命令有1,os.system("cmd")2,os.open("cmd")3,spawn*4,subprocess在最新的python里,推荐使用subprocess来与shell通信

Django配置Celery执行异步和同步任务(tasks))

celery是一个基于python开发的简单、灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度。采用典型的生产者-消费者模型,主要由三部分组成:

比如系统上线前后台批量导入历史数据,发送短信、发送邮件等耗时的任务

1.安装RabbitMQ,这里我们使用RabbitMQ作为broker,安装完成后默认启动了,也不需要其他任何配置

Ubuntulinux安装

CentOSLinux安装

苹果mac安装需要配置

配置环境变量(苹果用户)

启动rabbitmq-server

2.安装celery

3.celery用在django项目中,django项目目录结构(简化)如下

4.创建oa/celery.py主文件

5.在oa/__init__.py文件中增加如下内容,确保django启动的时候这个app能够被加载到

6.各应用创建tasks.py文件,这里为users/tasks.py

7.views.py中引用使用这个tasks异步处理

8.启动celery

9.这样在调用post这个方法时,里边的add就可以异步处理了

定时任务的使用场景就很普遍了,比如我需要定时发送报告给老板~

1.oa/celery.py文件添加如下配置以支持定时任务crontab

3.启动celerybeat,celery启动了一个beat进程一直在不断的判断是否有任务需要执行

结语:以上就是首席CTO笔记为大家整理的关于django如何调用ansible的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

阅读剩余
THE END