<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[运维进行时]]></title> 
<link>https://blog.liuts.com/index.php</link> 
<description><![CDATA[互联网运维与架构]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[运维进行时]]></copyright>
<item>
<link>https://blog.liuts.com/post/245/</link>
<title><![CDATA[《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>刘天斯 &lt;liutiansi@gmail.com&gt;</author>
<category><![CDATA[Python]]></category>
<pubDate>Sun, 07 Dec 2014 05:11:55 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/</guid> 
<description>
<![CDATA[ 
	<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 《python自动化运维：技术与最佳实践》书籍发布已经1个月有余，根据读者反馈，在部署OMServer平台时遇到很多困难及问题，尤其是第一次部署Django环境的读者。因此，作者对书籍中OMServer环境部署章节的内容进行扩充，以便让每位读者都可以轻易完成平台搭建。OMServer平台涉及两个角色，其中一个为Web服务端，运行在Django及rpyc环境，另一角色为主控端，需要部署saltstack、ansible或func主控端环境，本文介绍Web服务端的部署详细步骤。<br/><br/>---环境版本说明---<br/>* Python&nbsp;&nbsp;版本&nbsp;&nbsp;2.6.6<br/>* Django&nbsp;&nbsp;版本&nbsp;&nbsp; 1.4.9<br/>* nginx&nbsp;&nbsp;版本&nbsp;&nbsp;1.5.9<br/>* pcre&nbsp;&nbsp;版本&nbsp;&nbsp;8.34<br/>* rpyc&nbsp;&nbsp;版本&nbsp;&nbsp;3.2.3<br/>* uwsgi&nbsp;&nbsp;版本&nbsp;&nbsp;2.0.4<br/>* django-debug-toolbar&nbsp;&nbsp;版本&nbsp;&nbsp;0.8.5<br/><br/> <strong>一、Django环境部署</strong><br/><textarea name="code" class="c" rows="15" cols="100">
# yum install -y zlib-devel #Nginx环境初始化，安装gzip包
# yum -y install python-devel mysql-devel zlib-devel openssl-devel&nbsp;&nbsp;#MySQL-python关联包

# mkdir –p /data/logs/&nbsp;&nbsp;&nbsp;&nbsp;#创建uwsgi日志目录
# mkdir –p /data/www/&nbsp;&nbsp;&nbsp;&nbsp;#创建项目目录
# mkdir -p /home/install/Django && cd /home/install/Django&nbsp;&nbsp;&nbsp;&nbsp;#创建安装包目录
</textarea><br/>1、安装pcre，pcre是一个轻量级的正则表达式函数库，Nginx的HTTP Rewrite模块会用到，最新版本为8.34（对于OMServer平台环境来说是非必选项）。<br/><textarea name="code" class="c" rows="15" cols="100">
# 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
# cd ..
</textarea><br/>2、安装Nginx，Nginx是最流行的高性能HTTP服务器，最新版本为1.5.9。<br/><textarea name="code" class="c" rows="15" cols="100">
# 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
# cd ..
</textarea><br/>3、安装 MySQL-python，MySQL-python是Python访问MySQL数据库的第三方模块库，最新版本为1.2.3c1。<br/><textarea name="code" class="c" rows="15" cols="100">
# wget http://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip --no-check-certificate
# unzip MySQL-python-1.2.5.zip
# cd MySQL-python-1.2.5
# python setup.py install
# cd ..
</textarea><br/>4、rpyc模块安装，用于平台与主控端做数据通讯交互。<br/><textarea name="code" class="c" rows="15" cols="100">
# wget https://pypi.python.org/packages/source/r/rpyc/rpyc-3.2.3.tar.gz --no-check-certificate
# tar -zxvf rpyc-3.2.3.tar.gz
# cd rpyc-3.2.3
# python setup.py install
</textarea><br/>5、安装uwsgi。uwsgi是一个快速的、纯C语言开发的、自维护、对开发者友好的WSGI服务器，旨在提供专业的Python web应用发布和开发，最新版本为2.0.4。<br/><textarea name="code" class="c" rows="15" cols="100">
# 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
</textarea><br/>出现如下代码成功安装：<br/>################# uWSGI configuration #################<br/>pcre = True<br/>kernel = Linux<br/>malloc = libc<br/>execinfo = False<br/>ifaddrs = True<br/>ssl = True<br/>zlib = True<br/>locking = pthread_mutex<br/>plugin_dir = .<br/>timer = timerfd<br/>yaml = embedded<br/>json = False<br/>filemonitor = inotify<br/>routing = True<br/>debug = False<br/>capabilities = False<br/>xml = False<br/>event = epoll<br/>############## end of uWSGI configuration #############<br/>total build time: 17 seconds<br/>*** uWSGI is ready, launch it with ./uwsgi ***<br/><textarea name="code" class="c" rows="15" cols="100">
# vi /etc/ld.so.conf&nbsp;&nbsp;&nbsp;&nbsp;#添加动态链接库目录/usr/local/lib
添加行：/usr/local/lib
# ldconfig&nbsp;&nbsp;&nbsp;&nbsp;#使之生效

# cp uwsgi /usr/bin
# cd ..
</textarea><br/>6、安装Django，Django是一个Python最流行的开源Web开发框架，最新版本为1.6.5。考虑到兼容与稳定性，本案例使用1.4.9版本进行开发。<br/><textarea name="code" class="c" rows="15" cols="100">
# wget https://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
</textarea><br/>创建一个demo项目，以便验证环境是否正确安装部署。<br/><textarea name="code" class="python" rows="15" cols="100">
# cd /data/www
# django-admin.py startproject demo

# 由于Django1.4版本后对项目目录做了改动，即将manage.py管理任务命令单独放在项目根目录。为后续与OMServer平台目录结构相兼容，我们对目录结构进行调整。
# cd demo/demo && mv * ../ && cd .. && rm -rf demo

# 最终文件目录结构如下：
# ls
__init__.py&nbsp;&nbsp;manage.py&nbsp;&nbsp;settings.py&nbsp;&nbsp;urls.py&nbsp;&nbsp;wsgi.py
</textarea><br/>7、django-debug-toolbar的安装（Django调试利器）<br/><textarea name="code" class="c" rows="15" cols="100">
# wget http://blog.liuts.com/Django/django-debug-toolbar-master.tar.gz
# tar -zxvf django-debug-toolbar-master.tar.gz
# cd django-debug-toolbar-master/
# python setup.py install
</textarea><br/>8、配置Nginx，修改/usr/local/nginx/conf/nginx.conf，最终完整配置如下：<br/><textarea name="code" class="c" rows="15" cols="100">
user&nbsp;&nbsp;nobody;
worker_processes&nbsp;&nbsp;2;

#error_log&nbsp;&nbsp;logs/error.log;
#error_log&nbsp;&nbsp;logs/error.log&nbsp;&nbsp;notice;
#error_log&nbsp;&nbsp;logs/error.log&nbsp;&nbsp;info;

#pid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logs/nginx.pid;


events &#123;
&nbsp;&nbsp;&nbsp;&nbsp;worker_connections&nbsp;&nbsp;10240;
&#125;


http &#123;
&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mime.types;
&nbsp;&nbsp;&nbsp;&nbsp;default_type&nbsp;&nbsp;application/octet-stream;

&nbsp;&nbsp;&nbsp;&nbsp;#log_format&nbsp;&nbsp;main&nbsp;&nbsp;'$remote_addr - $remote_user [$time_local] "$request" '
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'$status $body_bytes_sent "$http_referer" '
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'"$http_user_agent" "$http_x_forwarded_for"';

&nbsp;&nbsp;&nbsp;&nbsp;#access_log&nbsp;&nbsp;logs/access.log&nbsp;&nbsp;main;

&nbsp;&nbsp;&nbsp;&nbsp;sendfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on;
&nbsp;&nbsp;&nbsp;&nbsp;tcp_nopush&nbsp;&nbsp;&nbsp;&nbsp; on;

&nbsp;&nbsp;&nbsp;&nbsp;keepalive_timeout&nbsp;&nbsp;65;

&nbsp;&nbsp;&nbsp;&nbsp;gzip&nbsp;&nbsp;on;
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 80;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name demo.domain.com;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_pass 127.0.0.1:9000;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include uwsgi_params;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_param UWSGI_CHDIR&nbsp;&nbsp;/data/www/demo;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_param UWSGI_SCRIPT wsgi;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_log off;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&#125;
</textarea><br/><span style="color: #DC143C;">* uwsgi_param UWSGI_SCRIPT wsgi;参数值wsgi对应项目目录中的wsgi.py，此处文件前缀与参数值要保持一致。</span><br/><br/>9、配置uwsgi，创建uwsgi配置文件/usr/local/nginx/conf/uwsgi.ini，详细内容如下：<br/><textarea name="code" class="c" rows="15" cols="100">
[uwsgi]
socket = 0.0.0.0:9000
master = true
pidfile = /usr/local/nginx/uwsgi.pid
processes = 8
workers = 2
chdir = /data/www/demo
pythonpath = /data/www
profiler=true
memory-report=true
enable-threads = true
logdate=true
limit-as=6048
daemonize=/data/logs/django.log
</textarea><br/>---关键参数及说明---<br/>1）chdir 指定项目目录；<br/>2）pythonpath 指定项目目录上一级<br/>3）processes 指定进程数<br/>4）workers 分配CPU的核数<br/>5）limit-as 子进程分配的内存大小<br/>6）max-requests 分配最大的请求数<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;启动uwsgi与nginx服务，建议配置成服务自启动脚本，便于后续的日常维护。详细启动脚本这里不展开说明，有兴趣的读者可参阅互联网上已经存在的相关资源。<br/>&nbsp;&nbsp;&nbsp;&nbsp;最后启动uwsgi与nginx服务<br/><textarea name="code" class="c" rows="15" cols="100">
# /usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi.ini
# /usr/local/nginx/sbin/nginx
</textarea><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;访问http://demo.domain.com，出现如图所示的页面说明Django+uwsgi环境部署成功！<br/><a href="https://blog.liuts.com/attachment.php?fid=364" target="_blank"><img src="https://blog.liuts.com/attachment.php?fid=364" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><strong>二、OMServer项目部署</strong><br/>1、修改Nginx配置<br/>添加OMServer项目站点配置，[server]域具体内容如下：<br/><textarea name="code" class="c" rows="15" cols="100">
&nbsp;&nbsp;&nbsp;&nbsp;server &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 80;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name omserver.domain.com;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location / &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_pass 127.0.0.1:9001;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include uwsgi_params;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_param UWSGI_CHDIR&nbsp;&nbsp;/data/www/OMserverweb;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uwsgi_param UWSGI_SCRIPT django_wsgi;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_log off;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ^~ /static &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /data/www/OMserverweb;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~* ^.+&#92;.(mpg&#124;avi&#124;mp3&#124;swf&#124;zip&#124;tgz&#124;gz&#124;rar&#124;bz2&#124;doc&#124;xls&#124;exe&#124;ppt&#124;txt&#124;tar&#124;mid&#124;midi&#124;wav&#124;rtf&#124;mpeg)$ &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /data/www/OMserverweb/static;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access_log off;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
</textarea><br/><span style="color: #DC143C;"><br/>&nbsp;&nbsp;1）切记修改UWSGI_SCRIPT为django_wsgi;<br/>&nbsp;&nbsp;2）监听uwsgi端口修改成127.0.0.1:9001;&nbsp;&nbsp;&nbsp;&nbsp;#多个站点使用不同端口区分<br/></span><br/><br/>2、添加omserver项目uwsgi配置<br/><textarea name="code" class="c" rows="15" cols="100">
# cd /usr/local/nginx/conf
# vi uwsgi_omserver.ini
[uwsgi]
socket = 0.0.0.0:9001
master = true
pidfile = /usr/local/nginx/uwsgi_omserver.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_omserver.log
</textarea><br/>3、项目源码配置<br/>&nbsp;&nbsp;1）项目源码：<br/>&nbsp;&nbsp;&nbsp;&nbsp;# cd /data/www<br/>&nbsp;&nbsp;&nbsp;&nbsp;下载地址：https://github.com/yorkoliu/pyauto/tree/master/第十三章/OMserverweb<br/>&nbsp;&nbsp;2）导入数据库结构(Mysql)<br/>&nbsp;&nbsp;&nbsp;&nbsp;下载地址：https://github.com/yorkoliu/pyauto/blob/master/第十三章/SQL/OMServer.sql<br/>&nbsp;&nbsp;3）修改setting.py（数据库信息）<br/><textarea name="code" class="python" rows="15" cols="100">
DATABASES = &#123;
&nbsp;&nbsp;&nbsp;&nbsp;'default': &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'NAME': 'OMServer',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Or path to database file if using sqlite3.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'USER': 'omserver_user',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Not used with sqlite3.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'PASSWORD': 'J8w3jZXSG#y34',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Not used with sqlite3.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HOST': '192.168.1.10',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Set to empty string for localhost. Not used with sqlite3.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'PORT': '3306',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Set to empty string for default. Not used with sqlite3.
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
</textarea><br/>&nbsp;&nbsp; 4）修改主控端rpyc主机IP<br/>&nbsp;&nbsp;&nbsp;&nbsp;OMserverweb/autoadmin/views.py<br/>&nbsp;&nbsp;&nbsp;&nbsp;<textarea name="code" class="python" rows="15" cols="100">
&nbsp;&nbsp;&nbsp;&nbsp;... ...
&nbsp;&nbsp;&nbsp;&nbsp;try:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn=rpyc.connect('192.168.1.20',11511)&nbsp;&nbsp;&nbsp;&nbsp;#修改此处的rpyc主机地址；
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.root.login('OMuser','KJS23o4ij09gHF734iuhsdfhkGYSihoiwhj38u4h')
&nbsp;&nbsp;&nbsp;&nbsp;except Exception,e:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.error('connect rpyc server error:'+str(e))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return HttpResponse('connect rpyc server error:'+str(e))
&nbsp;&nbsp;&nbsp;&nbsp;... ...
&nbsp;&nbsp;&nbsp;&nbsp;</textarea><br/>启动项目uwsgi及Nginx服务<br/><textarea name="code" class="c" rows="15" cols="100">
# /usr/bin/uwsgi --ini /usr/local/nginx/conf/uwsgi_omserver.ini
# killall -9 nginx
# /usr/local/nginx/sbin/nginx
</textarea><br/>4、访问http://omserver.domain.com，出现以下系统界面说明部署成功！<br/><a href="https://blog.liuts.com/attachment.php?fid=365" target="_blank"><img src="https://blog.liuts.com/attachment.php?fid=365" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>下一步配置<a href="http://blog.liuts.com/post/246/" target="_blank">《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【主控制端】</a><br/><br/>补：平台涉及开源组件包下载：<br/>Django-1.4.9.tar.gz <a href="http://blog.liuts.com/Django/Django-1.4.9.tar.gz" target="_blank">下载</a><br/>uwsgi-2.0.4.tar.gz <a href="http://blog.liuts.com/Django/uwsgi-2.0.4.tar.gz" target="_blank">下载</a><br/>rpyc-3.2.3.tar.gz <a href="http://blog.liuts.com/Django/rpyc-3.2.3.tar.gz" target="_blank">下载</a><br/>pcre-8.34.tar.gz <a href="http://blog.liuts.com/Django/pcre-8.34.tar.gz" target="_blank">下载</a><br/>nginx-1.5.9.tar.gz <a href="http://blog.liuts.com/Django/nginx-1.5.9.tar.gz" target="_blank">下载</a><br/>MySQL-python-1.2.5.zip <a href="http://blog.liuts.com/Django/MySQL-python-1.2.5.zip" target="_blank">下载</a><br/>django-debug-toolbar-master.tar.gz <a href="http://blog.liuts.com/Django/django-debug-toolbar-master.tar.gz" target="_blank">下载</a><br/>Tags - <a href="https://blog.liuts.com/tags/omserver/" rel="tag">omserver</a> , <a href="https://blog.liuts.com/tags/django%25E7%258E%25AF%25E5%25A2%2583/" rel="tag">django环境</a> , <a href="https://blog.liuts.com/tags/python%25E8%25BF%2590%25E7%25BB%25B4%25E8%2587%25AA%25E5%258A%25A8%25E5%258C%2596/" rel="tag">python运维自动化</a>
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2514</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>影子 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 07 Dec 2014 07:20:55 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2514</guid> 
<description>
<![CDATA[ 
	为啥在我搭完之后才看见这篇文章&nbsp;&nbsp;
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2515</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>大脚 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 07 Dec 2014 07:39:31 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2515</guid> 
<description>
<![CDATA[ 
	如何添加对FLASK的支持，，，，，
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2521</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>艾迪 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 18 Dec 2014 05:32:53 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2521</guid> 
<description>
<![CDATA[ 
	为神马看完还是觉得弄不好，好吧，我笨。
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2523</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>Baylor &lt;baylor.qu@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 22 Dec 2014 10:59:54 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2523</guid> 
<description>
<![CDATA[ 
	我在搭建之后一直到‘启动uwsgi与nginx服务‘都一直没有报错
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2524</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>Baylor &lt;baylor.qu@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 22 Dec 2014 11:01:44 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2524</guid> 
<description>
<![CDATA[ 
	但demo.domain.com就是访问不了,大神有着没
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2525</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>Baylor &lt;baylor.qu@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 23 Dec 2014 02:48:40 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2525</guid> 
<description>
<![CDATA[ 
	嗯，尝试着改了下能ping通demo.domain.com，页面还是打不开，我再试试
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2526</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>Baylor &lt;baylor.qu@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 23 Dec 2014 03:06:54 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2526</guid> 
<description>
<![CDATA[ 
	好吧。。。。wsgi.py没有执行权限，chmod之后就可以了，我认了
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2534</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>景天 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 29 Dec 2014 02:51:27 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2534</guid> 
<description>
<![CDATA[ 
	OMServer.sql 需要自己用Mysql命令导入表结构吗？
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2535</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>景天 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 29 Dec 2014 03:12:06 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2535</guid> 
<description>
<![CDATA[ 
	SQL导入这步要怎么搞啊，，另外OMServer那个源码也要放进去部署的吧
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/245/#blogcomment2536</link>
<title><![CDATA[[评论] 《python自动化运维：技术与最佳实践》之OMServer平台环境部署详解【Web服务端】]]></title> 
<author>景天 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 29 Dec 2014 06:30:00 +0000</pubDate> 
<guid>https://blog.liuts.com/post/245/#blogcomment2536</guid> 
<description>
<![CDATA[ 
	OMServer里面的OMserverweb和外面的OMserverweb不一样吗？新建project 部署OMserverweb就是访问不到啊。。。模块的那些文件和setting.py 这些默认生成好像不在一个目录里面的，，是不是要自己先新建project再拷贝你的模块内容，，，修改配置参数
]]>
</description>
</item>
</channel>
</rss>