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)

Kernelonan\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
Loadingmirrorspeedsfromcachedhostfile
*epel:mirrors.hust.edu.cn
SettingupInstallProcess
ResolvingDependencies
--Runningtransactioncheck
---Packagenmap.x86_642:5.51-3.el6willbeinstalled
--FinishedDependencyResolution

DependenciesResolved

================================================================================
PackageArchVersionRepositorySize
================================================================================
Installing:
nmapx86_642:5.51-3.el6Base2.7M

TransactionSummary
================================================================================
Install1Package(s)

Totaldownloadsize:2.7M
Installedsize:9.7M
DownloadingPackages:
Runningrpm_check_debug
RunningTransactionTest
TransactionTestSucceeded
RunningTransaction
Installing:2:nmap-5.51-3.el6.x86_641/1
Verifying:2:nmap-5.51-3.el6.x86_641/1

Installed:
nmap.x86_642:5.51-3.el6

Complete!
"

]

}

三、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的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~




django如何执行调用存储过程(django的缓存机制)
导读:很多朋友问到关于django如何执行调用存储过程的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!请问大佬们,如何在django网页中通过按钮调用本地的python程序?将stdout重定向到网页,可以将所有输出都显示到网页上。其实就是写一个类,例如写一个...

django如何调用存储过程(django缓存)
导读:很多朋友问到关于django如何调用存储过程的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!如何在DJANGO里,向有外键的DB里插入数据这样的语句可以放在存储过程里 declare@idint insertintotable1(name,password)values(...)set@id=@@identity--...

django如何外键互相访问(django怎么调用别人的接口)
本篇文章给大家谈谈django如何外键互相访问,以及django怎么调用别人的接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录一览:1、djangomodel里怎么实现外键对多种model2、django如何跨表查询3、django中外键怎么查询4、如何在DJANGO里,向有外键的DB里插入数据5、django2.0外键处理6、...

django如何调用layui(django如何调用pytorch模型)
本篇文章首席CTO笔记来给大家介绍有关django如何调用layui以及django如何调用pytorch模型的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么调用layui里面的方法2、python——Django项目开发:配置项目\/static\/路径,调用css、img、js等静态文件3、layui的基本使用介绍怎么调用layui里面的...

django怎么调用图片(django显示图片)
本篇文章首席CTO笔记来给大家介绍有关django怎么调用图片以及django显示图片的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、Djangomodel.ImageFiled图片的上传及显示2、Django后台上传的图片前台怎么显示不出来?路径的问题怎样解决?3、Django-imagekit4、如何使用Django获取从前端input表单上传...

django怎么调用consumers?
导读:很多朋友问到关于django怎么调用consumers的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!djangowebsocket做个比喻,如果说A是服务端,B是客户端,现在要在A家里吃火锅,虽然A说你人来就行,但是B心想总得带点东西过去,于是去了市场.先到了蔬菜店...

如何修改django端口(django调用接口)
如何修改django端口(django调用接口)本篇文章首席CTO笔记来给大家介绍有关如何修改django端口以及django调用接口的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、想在windows2003上用IIS部署djan

django如何调用matlab程序(django调用python脚本)
导读:很多朋友问到关于django如何调用matlab程序的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!怎么实现matlab子程序的放置以及调用1、在电脑桌面上打开MATLAB。2、当你没有把你编辑好的子函数放入正确的文件夹时,不管你输入的程序是否有错,当你...

如何用django调用摄像头(django怎么实现视频播放)
导读:很多朋友问到关于如何用django调用摄像头的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!关于Django和OpenCV的数据传输问题?网页显示摄像头的实时画面可以有多种协议,比如rtsp,rtmp,hts等,网上可以找到对应的播放相应流的js代码(github:video....

django怎么引用静态文件(django文件)
要包含'django.contrib.staticfiles';3、settings.py中的STATIC_URL就是app目录下的静态文件所在文件夹的相对路径,默认为\/static\/,可以自定义;4、调用时用如下形式:{ load static } img src="{ static "my_app\/myexample.jpg"}"alt="My image"\/ 导入js,img等静态文件后报错:File "D:\\...

大英县13835045485: 如何使用Ansible 2.0 Python API -
龙庄阿壳: Adhoc adhoc 其实就是执行 Ansible 模块, 通过 adhoc 我们可以方便快捷的完成一些临时的运维操作.2.0 之前的调用import ansible.runner import json runner = ansible.runner.Runner( module_name='ping', # 模块名 module_args='', # 模块参...

大英县13835045485: 如何使用 Ansible远程管理系统 -
龙庄阿壳: 一) 本文件复制远端所服务器; 二) 需要远程服务器执行命令; 远端服务器路径并非完全致般访问通环境变量定义变量路径访问; 比.bashrc定义$app_path=/opt/app/bin 终选择ansible使用自化运维工具满足我需求; 面介绍于我种场景需要使用ansible主要模块; 关于ansible及安装配置请自行百度

大英县13835045485: 如何使用Ansible获取系统某服务的运行状态 -
龙庄阿壳: net start 查看开启了哪些服务 net start 服务名 开启服务;(如:net start telnet, net start schedule) net stop 服务名 停止某服务 在文档中写入自己所需,保存为*.bat即可

大英县13835045485: 如何使用原子主机,Ansible和Cockpit部署容器 -
龙庄阿壳: 设置组件 开始之前,请确保你的系统上安装了 Ansible.sudo dnf -y install ansible 首先,我们需要在原子主机上运行 cockpit 容器.在你的机器上从 https://github.com/trishnaguha/fedora-cloud-ansible 下载它的源代码.$ git clone https://github....

大英县13835045485: django安装成功后怎么使用 -
龙庄阿壳: 在python命令行输入以下命令: >>>import django >>>django.VERSION (1,4,0,'final',0) >>> (1,4,0,'final',0)是我的版本,就是1.4.0版本

大英县13835045485: django一般怎样调试 -
龙庄阿壳: djangot 调试的两种方法:1.常用的print方法,由于使用python manage.py runserver实际是通过启动子进程的方式,子进程的标准输出不知道是到哪儿了,所以只有让调试服务器不以子进程的方式进行,可以用如下命令:python manage.py ...

大英县13835045485: django中怎么载入css等静态文件 -
龙庄阿壳: 这个问题,在开发环境下和生产环境下解决的方法不一样:开发环境下是在urls.py里面加条语句:比如(r'^static/(?P.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),这样来做静态文件服务 生产环境下,需要把静态文件用collect指令收集起来,部署在专门的前端HTTP服务器比如nginx中,django直观动态请求即可.

大英县13835045485: django distinct 返回的数据怎么调用 -
龙庄阿壳: 直接利用python提供的json包,在django model的定义中增加一个方法toJSON,利用django model 能访问 _meta.fields 得到相关属性而得到,例子如下:123456789101112 class Category(models.Model): autoid = models.AutoField(primary_key=...

大英县13835045485: django中怎样调用指定外键的值 -
龙庄阿壳: class B(models.Model):entry = models.TextField() class A(models.Model):b = models.ForeignKey(B) a = A.objects.get(id=1) print a.b.entry

大英县13835045485: 如何使用django session -
龙庄阿壳: 如果你要用is_authenticated()来判断用户是否登录,那么登录你也得用django.contrib.auth来处理登录、登出和权限验证,你可以再看看admin那一章 我自己写的话,我一般在session中加标示,后面的请求每次过来都验证一下session,即可判断登录状态

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网