首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

CentOS 下 Nginx + uWSGI 部署 MoinMoin Wiki 完整教學

     編輯:更多程式設計知識

原使用 Apache + mod_wsgi 部署 MoinMoin 發現編輯儲存頁面極慢,改用 Nginx + uWSGI 架構顯著提升效能。本文基於 CentOS 系統,詳細記錄從安裝到調優的完整流程。

前置條件

假設已完成官方 Quick MoinMoin on CentOS 指引中 Apache/Mod_wsgi 以外的基礎安裝(Python、MoinMoin 核心程式等)。

安裝 Nginx

CentOS 預設無 Nginx 源,手動添加官方倉庫:


wget https://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
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

# 使用豆瓣鏡像安裝 uWSGI
pip install -v uwsgi -i https://pypi.douban.com/simple

uWSGI 配置

建立 /etc/uwsgi/uwsgi.xml:



    /var/run/moin.sock
    666
    256
    6
    
    
    

chmod-socket 666 確保 Nginx 有權存取 socket 檔案。

調整 MoinMoin 啟動腳本


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

重命名為 .py 讓 uWSGI 辨識為 Python 模組。

啟動 uWSGI


uwsgi -x /etc/uwsgi/uwsgi.xml

Nginx 配置對接 uWSGI

建立 /etc/nginx/conf.d/moin.conf:


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_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

效能調優關鍵:關閉反向 DNS 查詢

發現編輯儲存仍慢,經查為 uWSGI 執行反向 DNS 導致。編輯 wikiconfig.py 加入:


log_reverse_dns_lookups = False

重啟 uWSGI 後問題解決,回應速度大幅提升。

架構優勢總結

  • Nginx 處理靜態資源與反向代理,高併發效能優異
  • uWSGI 進程管理靈活,支援多進程、記憶體限制、熱重載
  • Unix Socket 通訊比 TCP 回環更低延遲
  • 靜態檔案快取減少後端壓力
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved