Centos+nginx+uwsgi+Python多網站環境搭建

來源:互聯網
上載者:User

標籤:

前言

  新公司的第一個項目,伺服器端打算用python作為restful api。所以需要在Centos上搭建nginx+fastcgi+python的開發環境,但後面網上很多言論都說uwsgi比fastcgi在很多方面存在優勢,推薦用uwsgi而不是fastcgi,詳見:http://sunxiunan.com/?p=1778。因此,改為搭建nginx+uwsgi+python這樣的技術組合。

正題

  步入正題,開始搭建環境。http://www.cnblogs.com/xiongpq/p/3381069.html,這篇博文對於整個搭建的過程介紹得最詳細,但實際搭建過程中,卻遇到一個難題始終無法解決。當到第八步測試時,瀏覽器顯示“Internal server error”,可以確定的是uwsgi和django的串連有問題,估計是配置uwsgi有問題。於是找了另一篇技術貼來解決我的問題,見http://django-china.cn/topic/101/。這篇文章對於搭建的過程進行了拆分,協助理解搭建的過程。但當我配置完成django後,串連django和uwsgi時,出現一個問題,後台顯示:

django.core.exceptions.AppRegistryNotReady: Models aren’t loaded yet。之後,在網上找到了原因,django1.4和django1.5版本,wsgi.py為:

import os

import sys

from django.core.handlers.wsgi import WSGIHandler

os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘myapp.settings‘

application = WSGIHandler()

 

但當django1.7時,應改為

import os
import sys
from django.core.wsgi import get_wsgi_application
os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘myapp.settings‘
application = get_wsgi_application()

哎,這實在是個坑。好了,問題解決後,django和uwsgi就成功的串連起來了,所有請求都是經過uwsgi傳遞給django程式處理。繼續按照該文章的步驟來,又遇到問題了。所有配置完畢後,啟動uwsgi服務的時候,執行uwsgi -x djangochina_socket.xml 命令時提示:uwsgi:invalid option --‘x’,繼續度娘,找到答案:這個問題是因為編譯uwsgi的時候少了libxml2庫導致的,應該先安裝庫在編譯,否則會少了xml的支援。這裡需要注意的是,必須先安裝libxm,再安裝uwsgi,否則無效。由於我已經安裝了uwsgi,所以需要先卸載uwsgi,用命令pip uninstall uwsgi,這時就體現出第一篇博文的優點了,用pip安裝卸載程式非常方便。接著,yum install libxml*安裝libxml2庫。

  OK,終於所有問題都解決,瀏覽器訪問:http://127.0.0.1/admin,就能出現django後台管理登入介面,大功告成!

 

Centos+nginx+uwsgi+Python多網站環境搭建

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.