在 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.rpm rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
然后執行下面的命令安裝 nginx
yum install nginx
安裝 uwsgi
安裝 python 包管理工具 pip
yum install python-devel python-setuptools wget 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 666 256 6
其中
重命名 moin 的 wsgi 啟動腳本,以被 uwsgi 識別
cd /usr/local/share/moin mv 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,發現慢的問題解決了(為什么我之前沒有找到這篇文章!)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
