python运维自动化-OMserver学习记录

    初涉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,再次执行又不报错了,原因待查

分享下:

python运维自动化-OMserver学习记录_第1张图片


你可能感兴趣的:(Python)