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:\\...
龙庄阿壳: 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,即可判断登录状态