python自动化运维——OMserver平台Web服务端部署过程

1.下载源代码(简单不讲述)

2.安装pcre,pcre是一个轻量级的正则表达式函数库,nginx的HTTP Rewrite模块会用到。

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make && make install

3.安装nginx.

wget http://nginx.org/download/nginx-1.5.9.tar.gz
tar -zxvf nginx-1.5.9.tar.gz
cd nginx-1.5.9
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-cc-opt=‘-O3‘ --with-cpu-opt=opteron
make && make install

4.安装MySQL-python.

yum install MySQL-python -y     #yum安装方式
wget http://nchc.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz
tar -zxvf MySQL-python-1.2.2.tar.gz
cd MySQL-python-1.2.2
python setup.py install

5.安装uwsgi.

wget http://projects.unbit.it/downloads/uwsgi-2.0.4.tar.gz
tar -zxvf uwsgi-2.0.4.tar.gz
cd uwsgi-2.0.4
make
cp uwsgi /usr/bin

6.安装Django.

wget htpp://www.djangoproject.com/m/releases/1.4/Django-1.4.9.tar.gz
tar -zxvf Django-1.4.9.tar.gz
cd Django-1.4.9
python setup.py install

7.配置nginx。修改/usr/local/nginx/conf/nginx.conf,添加以下server域配置:

    server {
        listen       80;
        server_name  www.omserver.com;

        location / {
            uwsgi_pass 192.168.202.128:9000;
            include uwsgi_params;
            uwsgi_param UWSGI_CHDIR /data/www/OMserverweb;  #项目主目录
            uwsgi_param UWSGI_SCRIPT django_wsgi;    #此处应与项目目录中的wsgi文件同名
            access_log off;
        }
        location ^~ /static {
            root /data/www/OMserverweb;
        }
        location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
            root /data/www/OMserverweb/static;
            access_log off;
        }
    }

8.配置uwsgi。创建uwsgi配置文件/usr/local/nginx/conf/uwsgi.ini

[uwsgi]
socket = 0.0.0.0:9000
master = true
pidfile = /usr/local/nginx/uwsgi.pid
processes = 8    #指定进程数
chdir = /data/www/OMserverweb    #项目主目录
pythonpath = /data/www
profiler = true
memory-report=true
enable-threads=true
logdate=true
limit-as=6048
daemonize=/data/logs/django.log

注:如果这里需要配置多个django站点,需要创建多个.ini文件分别配置uwsgi,并且需要监听不同端口。

9.启动uwsgi和nginx服务。

/usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi.ini
/usr/local/nginx/sbin/nginx

10.项目源码配置

1).将下载的源码放于/data/www/目录下

2).导入数据库结构

mysql> grant all privileges on OMServer.* to [email protected]‘%‘ identified by ‘J8w3jZXSG#y34‘    
mysql> create OMServer
# mysql -u omserver_user -p < OMServer.sql

注:此处需在mysql配置文件[mysqld]he[client]段中添加default_character_set=utf8,并重启mysql,否则,插入中文数据时会乱码。

3).修改settings.py

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘, 
        ‘NAME‘: ‘OMServer‘,
        ‘USER‘: ‘omserver_user‘,
        ‘PASSWORD‘: ‘J8w3jZXSG#y34‘,
        ‘HOST‘: ‘localhost‘,
        ‘PORT‘: ‘3306‘,
    }
}

4).修改主控端rpyc主机IP,autoadmin/views.py

 try:
        conn=rpyc.connect(‘192.168.202.132‘,11511)
        conn.root.login(‘OMuser‘,‘KJS23o4ij09gHF734iuhsdfhkGYSihoiwhj38u4h‘)
    except Exception,e:
        logger.error(‘connect rpyc server error:‘+str(e))
        return HttpResponse(‘connect rpyc server error:‘+str(e))

5).重启uwsgi和nginx

注:由于nginx子进程默认由nobody启动,访问静态文件是可能出现权限禁止错误,需在nginx配置文件中添加user  root;项。

时间: 2024-12-21 05:13:44

python自动化运维——OMserver平台Web服务端部署过程的相关文章

Python自动化运维开发活动沙龙(2015-07-11周六)

Python自动化运维开发活动沙龙 2015-07-11(周六) 场地限制,最多仅限50人参加,报名从速! 亲,已是2015年了,做为运维工程师的你还在手动装机器.配服务.看监控.帮开发人肉上线么?还在发愁如何把每天重复的工作自动化起来么?还在想对开源软件进行二次开发定制却无能为力么?还在对开发人员提出的各种无理需求想进行反驳却因为自己不懂开发却被人鄙视么?还在为自己天天努力工作.到处救火却每月只能挣个十来K而感到不爽么? Maybe yes,maybe no! 但是不要不爽了,你的工资不高是因

python自动化运维之路~DAY7

python自动化运维之路~DAY7 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.客户端/服务器架构 C/S 架构是一种典型的两层架构,其全称是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据:另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信. C/S 架构也可以看做是胖客户端架构.因为客户端需要实现绝大多数的业务

电子书 Python自动化运维:技术与最佳实践.pdf

本书在中国运维领域将有"划时代"的重要意义:一方面,这是国内一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的作者是中国运维领域的"偶像级"人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴.直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息.服务监控.数据报表.系统安全等基础模块,而且深入讲解了自动化操作.系统管理.配置管理.集群管理及大数据应用等高级功能.重要的是,完整重现了4个

(转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

Python自动化运维之13.异常处理及反射(__import__,getattr,hasattr,setattr) 一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成.计算或者输出结果需要的过程无法执行等 python异常是一个对象,表示错误或意外情况 (1)在python检测到一个错误时,将触发一个异常 python可以通常异常传导机

Python自动化运维Django入门

随着IT运维技术日益更新,近几年运维自动化越来越火,而且学习python的人非常的火爆,尤其是python自动化运维开发,得到了很多前辈的推崇,尤其是老男孩培训中心.老男孩老师.Alex老师等,在这里非常感谢你们. 这里我也记录一下以前学习Django的一点点心得和方法,方便以后自己查阅,如果能帮助初学者是最好的了!好的,其他不多说了,博文滴走起. 一.系统实战环境 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

Python自动化运维课程学习--Day2

本文为参加老男孩Python自动化运维课程第二天学习内容的总结. 大致内容如下: 1.python模块初识 2.python程序运行流程 3.python数据类型(只讲了numbers, bool, strings, bytes, list, tuple, dict, set) 4.python数据运算 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 --Python IDE: PyCharm

python自动化运维之路~DAY10

python自动化运维之路~DAY10 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

python自动化运维之集中病毒扫描

1.因为我linux的python是2.6.6,所以因为有些模块是2.7的,先进行升级. 步骤地址:http://www.linuxidc.com/Linux/2014-07/104555.htm 2.安装pyclamd yum install -y clamav clamd clamav-update 安装clamavp的相关程序包 chkconfig --level 235 clamd on /usr/bin/freshclam pyClamd-0.3.15.tar.gz安装包安装 3.vi