程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 利用Python腳本在Nginx和uwsgi上部署MoinMoin的教程

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

編輯:更多關於編程

       這篇文章主要介紹了利用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,發現慢的問題解決了(為什麼我之前沒有找到這篇文章!)

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved