时间:2021-05-22
在 CentOS 下使用 apache+mod_wsgi 部署了 MoinMoin,但是编辑和保存页面很慢,于是准备使用 nginx+uwsgi 重新部署
本文假定已经按照官方指引 Quick MoinMoin on CentOS 完成了 apache 和 mod_wsgi 之外的基础安装
安装 Nginx
默认情况下,CentOS 下没有 nginx 的源,需要自己手动添加,访问 http://nginx.org/en/linux_packages.html#stable 下载 CentOS 6 的 rpm 包,并安装
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpmrpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm然后执行下面的命令安装 nginx
yum install nginx
安装 uwsgi
安装 python 包管理工具 pip
yum install python-devel python-setuptoolswget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O - | python通过 pip 安装 uwsgi (使用豆瓣的境像)
pip install -v uwsgi -i http://pypi.douban.com/simple使用 uwsgi 启动 moin
创建 uwsgi 配置 /etc/uwsgi/uwsgi.xml 内容如下
<uwsgi><socket>/var/run/moin.sock</socket> <chmod-socket>666</chmod-socket><limit-as>256</limit-as><processes>6</processes><memory-report/><vhost/><no-site/></uwsgi>其中 <chmod-socket>666</chmod-socket> 这句是这了防止 nginx 访问 moin.sock 没有权限。
重命名 moin 的 wsgi 启动脚本,以被 uwsgi 识别
cd /usr/local/share/moinmv moin.wsgi moin_wsgi.py要启动 uwsgi 可以使用下面的命令
uwsgi -x /etc/uwsgi/uwsgi.xml配置 nginx 访问 uwsgi
建立 /etc/nginx/conf.d/moin.conf 内容如下
# moinmoin 虚拟主机配置server { listen YOUR_SERVER_IP:80; server_name localhost; access_log /var/log/nginx/moin.access_log main; error_log /var/log/nginx/moin.error_log info; location ^~ / { include uwsgi_params; uwsgi_pass unix:///var/run/moin.sock; # uwsgi_param UWSGI_PYHOME /usr/local/lib/python2.6/; #site-packages/; uwsgi_param UWSGI_CHDIR /usr/local/share/moin/; uwsgi_param UWSGI_SCRIPT moin_wsgi; uwsgi_param SCRIPT_NAME /; uwsgi_modifier1 30; } location ^~ /moin_static193/ { alias /usr/local/lib/python2.6/site-packages/MoinMoin/web/static/htdocs/; add_header Cache-Control public; expires 1M; }}运行 nginx
nginx运行及故障排除
接下来你可以通过浏览器访问 Wiki 了,但是发现编辑和保存页面依旧很慢,然后稍微 Google 了下就发现了 一篇解决这个问题的文章,很快解决了慢的问题
编辑 wikiconfig.py 加入如下配置
log_reverse_dns_lookups = False
重启 uwsgi 后再访问 Wiki,发现慢的问题解决了(为什么我之前没有找到这篇文章!)
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uWSGI是一个
如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uWSGI是一个
在上篇文章给大家介绍了在Nginx上部署ThinkPHP项目教程,今天给大家介绍nginx下thinkphp的配置,具体详解如下:##domainredirec
Apache上部署Django目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配。mod_python是一个在Apache中嵌
本文实例讲述了uwsgi+nginx部署Django项目操作。分享给大家供大家参考,具体如下:uWSGI概述uWSGI是一个全功能的HTTP服务器,可以把HTT