Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1810685
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

2015-08-25 14:47:06

0×00 Supervisor简介

————————————————————
Supervisor是用Python实现的一款非常实用的进程管理工具,可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,但是supervisor管理的进程必须由supervisord来启动,并且管理的程序必要是非Daemon程序,Supervisor会帮你把它转化为Daemon程序,比如想要使用Supervisor来管理Nginx进程,就必须在Nginx配置文件中加入 daemon off让Nginx以非Daemon方式运行

0×01 Supervisor安装

————————————————————
Supervisor是基于Python编写,所以可以使用easy_install或 pip来安装,这里使用pip



安装完成后,supervisor会提供两个命令:
supervisord: 启动supervisor守护进程
supervisorctl: supervisor控制脚本,类似与 service 命令

0×02 Supervisor配置
————————————————————
生成配置文件:



0×03 简单flask测试脚本

————————————————————
[root@localhost verystar]# vim /opt/verystar/runserver.py



0×04 Supervisor启动及进程管理

————————————————————
启动supervisord守护进程



简单的WEB管理界面
supervisor

Python+dnspod实现DDNS

没有评论

使用场合,使用ADSL架设的服务器,由于IP不固定可能导致IP改变后服务器将不可用
这里使用Python脚本来实现IP被更改后自动更新Dnspod上的记录



Python SocksiPy-branch模板的简单应用

没有评论

目的: 抓取目标页面内容时不想让服务器记录您真实的IP,或是通过代理服务器抓取墙外的内容
使用模块: http://socksipy-branch.googlecode.com/files/SocksiPy-branch-1.02.tar.gz  
PS: SocksiPy模板是没有 wrapmodule方法的, 一定要使用 SocksiPy-branch
测试代码如下


本人在测试的时候,发现代理后并不是所有网站都能抓取

Python中一行代码实现阶乘

没有评论

越来越发现Python真的是无所不能

代码分析:
    range(1,101): 产生一个从1到100的列表 [1,2,3,4,5,......,100]
    lambda x,y:x+y 生成一个匿名函数,返回x+y的值
    reduce(function, seq):  python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。

Linux 下使用pyinotify监视文件更改并发送Email

没有评论

场景:使用脚本监视某目录下的文件增、删、改等操作,并将其结果发送Email到指定邮箱,本文只监视了文件被创建的事件
代码如下:


sublimetext2 中运行Python提示EOFError: EOF when reading a line

没有评论

要sublimeText2中编译运行Python文件时,如果代码中带有需要用户输入的函数时(raw_input/input)会提示以下错误
EOFError: EOF when reading a line

解决方法:
一、安装sublimeREPL
    打开sublimeText2按CTRL+SHIFT+P,英文版输入:install后选择Package Control: Install Package;中文版输入:安装软件包
    输入sublimeREPL 回车就会自动安装
    重启sublimeText2

二、运行Python文件
    方法1:CTRL+SHIFT+P    输入:sublimePython-RUN 就可以运行
    方法2:菜单【工具】-【sublimePERL】-【Python】-【Python – RUN current file】

nginx+fastcgi 环境webpy重定向问题

没有评论

代码片段:

以上代码原意是在数据插入以后,重定向到网站根目录,如http://www.domain.com/
但事与愿违,在插入数据以后并没有转到根目录,并且此时URL变成 http://www.domain.com/add/
会在原有的URL末尾加上’/  此时会提示没有找到文件

解决方法:
在nginx配置文件中添加一行:
fastcgi_param SCRIPT_NAME “”;

网上其他方法(没试过):


使用pygame 播放mp3

没有评论

import pygame
pygame.mixer.init()
pygame.mixer_music.load(r’./1280128564.mp3′)
pygame.mixer.music.play()
pygame.init() 进行全部模块的初始化,
pygame.mixer.init() 或者只初始化音频部分
pygame.mixer.music.load(‘/home/liumin/love.mp3′) 使用文件名作为参数载入音乐 ,音乐可以是ogg、mp3等格式。载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取。
pygame.mixer.music.play()播放载入的音乐。该函数立即返回,音乐播放在后台进行。
play方法还可以使用两个参数
pygame.mixer.music.play(loops=0, start=0.0) loops和start分别代表重复的次数和开始播放的位置。
pygame.mixer.music.stop() 停止播放,
pygame.mixer.music.pause() 暂停播放。
pygame.mixer.music.unpause() 取消暂停。
pygame.mixer.music.fadeout(time) 用来进行淡出,在time毫秒的时间内音量由初始值渐变为0,最后停止播放。
pygame.mixer.music.set_volume(value) 来设置播放的音量,音量value的范围为0.0到1.0。
pygame.mixer.music.get_busy() 判断是否在播放音乐,返回1为正在播放。
pygame.mixer.music.set_endevent(pygame.USEREVENT + 1) 在音乐播放完成时,用事件的方式通知用户程序,设置当音乐播放完成时发送pygame.USEREVENT+1事件给用户程序。 pygame.mixer.music.queue(filename) 使用指定下一个要播放的音乐文件,当前的音乐播放完成后自动开始播放指定的下一个。一次只能指定一个等待播放的音乐文件。

阅读(1657) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~