热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python运维自动化OMserver学习记录

python运维自动化-OMserver学习记录,Go语言社区,Golang程序员人脉社

    初涉python学习,接触到刘天斯老师的OMserver,记录安装调测填坑过程,感谢刘老师的分享。

    原文章地址:https://blog.liuts.com/post/245/

1、安装pcre,pcre是一个轻量级的正则表达式函数库,Nginx的HTTP Rewrite模块会用到,最新版本为8.34(对于OMServer平台环境来说是非必选项)。

view plainprint?
  1. # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz  
  2. 换为:wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz
可能报错,需要补充安装C++编译器: yum install -y gcc gcc-c++


2、安装Nginx,Nginx是最流行的高性能HTTP服务器,最新版本为1.5.9。

view plainprint?
  1. # wget http://nginx.org/download/nginx-1.5.9.tar.gz  
  2. wget http://nginx.org/download/nginx-1.9.9.tar.gz
3、安装 MySQL-python,MySQL-python是Python访问MySQL数据库的第三方模块库,最新版本为1.2.3c1。
view plainprint?
  1. # wget http://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip --no-check-certificate  
  2. wget https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download --no-check-certificate
报错1:SSL is required.
复制链接,手动下载安装包
报错2:No module named setuptools 缺少setuptools模块
根据自动化下载安装脚本:https://bootstrap.pypa.io/ez_setup.py
执行python ez_setup.py 自动根据本机python版本下载对应setuptools
如果不能自动下载,根据其反馈的路径手动下载,安装:python setup.py install

运行报错3:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named _mysql
将安装生成的MySQLdb目录拷贝到项目根目录,MySQLdb所在目录注意看上述安装日志,如/usr/lib64/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg


5、安装uwsgi。uwsgi是一个快速的、纯C语言开发的、自维护、对开发者友好的WSGI服务器,旨在提供专业的Python web应用发布和开发,最新版本为2.0.4。

view plainprint?
  1. # wget http://projects.unbit.it/downloads/uwsgi-2.0.4.tar.gz  
  2. # tar -zxvf uwsgi-2.0.4.tar.gz  
  3. # cd uwsgi-2.0.4  
  4. # make  
自动下载可能出现域名解析错误,手工本地下载


7、django-debug-toolbar的安装(Django调试利器)
view plainprint?
  1. # wget http://blog.liuts.com/Django/django-debug-toolbar-master.tar.gz  
  2. 此处有个坑爹问题:原链接已调整为https,按照http无法获取对应包,如果采取pip install django-debug-toolbar进行安装,会导致django升级,而且安装的toolbar版本对不上,导致报错,需采用https下载其对应的安装包!!安装完成后,将debug_toolbar复制到项目根目录下!
  3. # tar -zxvf django-debug-toolbar-master.tar.gz  
  4. # cd django-debug-toolbar-master/  
  5. # python setup.py install  

获取安装包失败,拟采用pip安装,先安装pip
进入https://pypi.python.org/pypi/pip,下载第二项,解压、安装,搞定
利用get-pip.py,执行python get-pip.py 完成安装,pip -V 查询验证
pip install django-debug-toolbar
Django Debug Toolbar安装
1.安装Django Debug Toolbar
1 pip install django-debug-toolbar
2.将debug_toolbar复制到项目根目录下,打开项目settings.py,首先确保
1 DEBUG = True
找到INSTALLED_APPS,添加:
1 'debug_toolbar',
3.找到MIDDLEWARE_CLASSES,添加:
1 'debug_toolbar.middleware.DebugToolbarMiddleware',
4.在settings.py末尾添加设置项INTERNAL_IPS,用以设置允许访问debug_toolbar的IP地址
1 INTERNAL_IPS = ('127.0.0.1',)
完成

报错:'module' object has no attribute 'lru_cache'
django和python版本不一致导致,卸载之前版本,安装指定版本
sudo pip install Django==1.9
重新执行pip install django-debug-toolbar 安装成功

再次执行pip install django-debug-toolbar时,自动卸载老版本,安装新版本
Uninstalling Django-1.4.9:
Successfully uninstalled Django-1.4.9
Successfully installed Django-1.11.11 django-debug-toolbar-1.9.1 pytz-2018.3 sqlparse-0.2.4

安装倒是成功了,不过运行报错“
File "/usr/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
^
SyntaxError: invalid syntax
是因为django新版本与python2.6不兼容,需升级python或降级django!!


=================================调试记录=====================================
1、数据库中server_list添加服务器后,调试出错:ImportError at /autoadmin/module_run/ No module named rpyc
处理:将/usr/lib/python2.6/site-packages/rpyc-3.2.3-py2.6.egg下的rpyc目录复制到/data/www/OMserver
2、报错变为connect rpyc server error:[Errno 111] Connection refused
处理:检查了/data/www/OMserverweb/autoadmin/views.py中的rpyc配置,未发现错误;
重启浏览器,调用模块成功!
3、后续调试,时不时会报错:ImportError: No module named rpyc,再次执行又不报错了,原因待查

分享下:





推荐阅读
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有