利用Python指令碼在Nginx和uwsgi上部署MoinMoin的教程

來源:互聯網
上載者:User
在 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 內容如下

/var/run/moin.sock                                           6662566 

其中 666 這句是這了防止 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,發現慢的問題解決了(為什麼我之前沒有找到這篇文章!)

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.