利用Python腳本在Nginx和uwsgi上部署MoinMoin的教程
在 CentOS 下使用 apache+mod_wsgi 部署了 MoinMoin,但是編輯和保存頁面很慢,于是準(zhǔn)備使用 nginx+uwsgi 重新部署
本文假定已經(jīng)按照官方指引 Quick MoinMoin on CentOS 完成了 apache 和 mod_wsgi 之外的基礎(chǔ)安裝
安裝 Nginx
默認(rèn)情況下,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
然后執(zhí)行下面的命令安裝 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
創(chuàng)建 uwsgi 配置 /etc/uwsgi/uwsgi.xml 內(nèi)容如下
<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 沒有權(quán)限。
重命名 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 內(nèi)容如下
# moinmoin 虛擬主機(jī)配置 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; } }
運(yùn)行 nginx
nginx
運(yùn)行及故障排除
接下來你可以通過瀏覽器訪問 Wiki 了,但是發(fā)現(xiàn)編輯和保存頁面依舊很慢,然后稍微 Google 了下就發(fā)現(xiàn)了 一篇解決這個(gè)問題的文章,很快解決了慢的問題
編輯 wikiconfig.py 加入如下配置
log_reverse_dns_lookups = False
重啟 uwsgi 后再訪問 Wiki,發(fā)現(xiàn)慢的問題解決了(為什么我之前沒有找到這篇文章?。?br />
- 詳解使用Nginx和uWSGI配置Python的web項(xiàng)目的方法
- Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服務(wù)器
- Python Web編程之WSGI協(xié)議簡介
- 使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動靜分離
- 在Linux系統(tǒng)上通過uWSGI配置Nginx+Python環(huán)境的教程
- 在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
- 詳解python使用Nginx和uWSGI來運(yùn)行Python應(yīng)用
- python Web開發(fā)你要理解的WSGI & uwsgi詳解
相關(guān)文章
Python實(shí)現(xiàn)批量導(dǎo)入1000條xlsx數(shù)據(jù)
本文主要介紹了Python實(shí)現(xiàn)批量導(dǎo)入1000條xlsx數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(3)
這篇文章主要為大家詳細(xì)介紹了Python中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03Python遍歷指定文件夾下的所有文件名的方法小結(jié)
當(dāng)需要遍歷指定文件夾下的所有文件名時(shí),Python提供了多種方法來實(shí)現(xiàn)這個(gè)任務(wù),本文將介紹如何使用Python來完成這一任務(wù),有需要的小伙伴可以參考下2024-01-01Python pygame 動畫游戲循環(huán)游戲時(shí)鐘實(shí)現(xiàn)原理
這篇文章主要為大家介紹了Python pygame 動畫游戲循環(huán)游戲時(shí)鐘實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08pandas讀取HTML和JSON數(shù)據(jù)的實(shí)現(xiàn)示例
Pandas可以直接讀取html和JSON數(shù)據(jù),本文就來介紹一下pandas讀取HTML和JSON數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),感興趣的可以了解一下2024-01-01Django框架HttpRequest對象用法實(shí)例分析
這篇文章主要介紹了Django框架HttpRequest對象用法,結(jié)合實(shí)例形式分析了Django框架HttpRequest對象發(fā)送請求數(shù)據(jù)的相關(guān)使用技巧,需要的朋友可以參考下2019-11-11