在Apache上搭建pywebsocket提供html5的websocket服务
参考:http://www.travisglines.com/web-coding/how-to-set-up-apache-to-serve-html5-websocket-applications-with-pywebsocket
环境:SuSE Linux Entiprise Server 11 SP1 + Apache2.2.19 + Python2.6
关于Apache的安装可以参考我的这篇日志:http://blog.csdn.net/fm0517/article/details/7299144
开始:
1. 在Yast中确认apache2-mod_python已安装,如果还没有安装,安装之:
计算机 -> YAST -> 软件管理 -> 搜索 -> 在搜索框填入"apache2-mod_python",找到以后在右边的复选框中勾上即可。
2. 修改Apache配置文件:
打开/usr/local/apache2/conf/httpd.conf;
找到"Options Indexes FollowSymLinks"下面的内容
"AllowOverride None
Order allow,deny
allow from all
"
在其后加入以下内容
"LoadModule python_module /usr/lib/apache2/mod_python.so
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
"
3. 重启apache
执行:/usr/local/apache2/bin/apache restart
至此,apache2-mod_python模块已经安装配置完毕。
在目录/usr/local/apache2/htdocs下编辑文件test.py,输入以下内容:
"from mod_python import apache
def index(req):
return "Test successful"
"
在浏览器中运行,显示"Test successful"表示此前步骤全部成功。
4. 安装svn
添加安装源,在终端里以超乎执行以下命令:
zypper ar http://download.opensuse.org/distribution/11.3/repo/oss/ main
zypper ar http://download.opensuse.org/distribution/11.3/repo/non-oss/ nonoss
zypper ar http://download.opensuse.org/update/11.3/ update
在Yast中依次安装libapr1,libapr1-devel,libapr-util1,libapr-util1,subversion,subversion,方法同步骤1安装apache2-mod_python。
5. 检出并安装pywebsocket
先在用户主目录下执行以下命令检出pywebsocket
svn checkout http://pywebsocket.googlecode.com/svn/trunk/ pywebsocket-read-only
进入目录pywebsocket-read-only/src,依次执行以下语句进行编译和安装:
sudo python setup.py build
sudo python setup.py install
6. 再次修改Apache配置文件:
打开/usr/local/apache2/conf/httpd.conf;
在文件的最末尾加上以下内容
"PythonPath "sys.path+['/usr/local/lib/python2.6/site-packages/mod_pywebsocket']"
PythonOption mod_pywebsocket.handler_root /home/ngxy/apache-pywebsocket/websock_handlers
PythonHeaderParserHandler mod_pywebsocket.headerparserhandler
"
其中,第一个路径是mod_pywebsocket的安装路径,在步骤5执行"sudo python setup.py install"时会显示在屏幕上。
第二个路径是自己手工为websocket_handler创建的一个目录,我将目录建在了用户主目录下。
配置文件中的这两个路径须要自己按照实际情况指定,不可照抄。
至此,在Apache上搭建pywebsocket提供html5的websocket服务全过程完毕。
更多推荐
所有评论(0)