设为首页 收藏本站
查看: 3453|回复: 0

[经验分享] python自动化运维——OMserver平台Web服务端部署过程

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-17 09:39:23 | 显示全部楼层 |阅读模式
1.下载源代码(简单不讲述)
2.安装pcre,pcre是一个轻量级的正则表达式函数库,nginx的HTTP Rewrite模块会用到。
1
2
3
4
5
wget ftp://ftp.csx.cam.ac.uk/pub/soft ... re/pcre-8.34.tar.gz
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make && make install



3.安装nginx.
1
2
3
4
5
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.
1
2
3
4
5
yum install MySQL-python -y     #yum安装方式
wget http://nchc.dl.sourceforge.net/p ... 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.
1
2
3
4
5
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.
1
2
3
4
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域配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    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
1
2
3
4
5
6
7
8
9
10
11
12
13
[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服务。
1
2
/usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi.ini
/usr/local/nginx/sbin/nginx



10.项目源码配置
1).将下载的源码放于/data/www/目录下
2).导入数据库结构
1
2
3
mysql> grant all privileges on OMServer.* to omserver_user@'%' 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

1
2
3
4
5
6
7
8
9
10
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
1
2
3
4
5
6
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;项。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-100096-1-1.html 上篇帖子: python 多进程multipocessing模块 下篇帖子: python学习:IndentationError:expected an indented block错误解决 python 服务端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表