欢迎来到山村网

利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程

2019-03-02 12:24:29浏览:134 来源:山村网   
核心摘要:  这篇文章主要介绍了利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程,示例基于CentOS操作系统,需要的朋友可以参考下  在

  这篇文章主要介绍了利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程,示例基于CentOS操作系统,需要的朋友可以参考下

  在 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 包,并安装

  ?

1 2 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

  然后执行下面的命令安装 nginx

  yum install nginx

  安装 uwsgi

  安装 python 包管理工具 pip

  ?

1 2 yum install python-devel python-setuptools wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O - | python

  通过 pip 安装 uwsgi (使用豆瓣的境像)

  ?

1 pip install -v uwsgi -i http://pypi.douban.com/simple

  使用 uwsgi 启动 moin

  创建 uwsgi 配置 /etc/uwsgi/uwsgi.xml 内容如下

  ?

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

  其中 666 这句是这了防止 nginx 访问 moin.sock 没有权限。

  重命名 moin 的 wsgi 启动脚本,以被 uwsgi 识别

  ?

1 2 cd /usr/local/share/moin mv moin.wsgi moin_wsgi.py

  要启动 uwsgi 可以使用下面的命令

  ?

1 uwsgi -x /etc/uwsgi/uwsgi.xml

  配置 nginx 访问 uwsgi

  建立 /etc/nginx/conf.d/moin.conf 内容如下

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 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

  ?

1 nginx

  运行及故障排除

  接下来你可以通过浏览器访问 Wiki 了,但是发现编辑和保存页面依旧很慢,然后稍微 Google 了下就发现了 一篇解决这个问题的文章,很快解决了慢的问题

  编辑 wikiconfig.py 加入如下配置

  log_reverse_dns_lookups = False

  重启 uwsgi 后再访问 Wiki,发现慢的问题解决了(为什么我之前没有找到这篇文章!)

(责任编辑:豆豆)
下一篇:

Python实现一个简单的能够上传下载的HTTP服务器

上一篇:

安装dbus-python的简要教程

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com