2012-11-24 95 views
0

我們正在開發燒瓶應用程序,但4小時後嘗試配置服務器,我無法弄清楚。nginx + uwsgi下的燒瓶

事情是這樣的:

  • 虛擬機是通過XX.XX.XX.XX訪問:81

  • 在此服務器上,我的應用程序是:在/ var/HG /庫/數據/ test.py

我想通過XX.XX.XX.XX訪問這個應用程序:81/WS

這個我我也這樣做nginx的:

location = /var/hg/repositories/data { rewrite^/var/hg/repositories/data/; } 
    location /ws { try_files $uri @ws; } 
    location @ws { 
     include uwsgi_params; 
     uwsgi_param SCRIPT_NAME /var/hg/repositories/data; 
     uwsgi_modifier1 30; 
     uwsgi_pass unix:/tmp/uwsgi.sock; 
    } 

我有一個YAML文件午餐uwsgi:

uwsgi: 
    socket: 127.0.0.1:9090 
    master: 1 
    workers: 1 
    chmod-socket: 666 
    auto-procname: 1 
    python-path: . 
    pidfile: /tmp/uwsgi.pid 
    daemonize: /var/log/uwsgi.log 
    module: test:app 

要XX.XX.XX.XX:81給我的經典nginx的歡迎信息。

要XX.XX.XX.XX:81/WS給了我404

我在做什麼錯?

的conf更新後,我有

location = /var/hg/repositories/data/ 
    location /var/hg/repositories/data/ { try_files $uri @web } 
    location @ws { 
      uwsgi_pass unix:/tmp/uwsgi.sock; 
    } 

我uwsgi的conf:

uwsgi: 
    socket: unix:/tmp/uwsgi.lock 
    master: 1 
    workers: 1 
    chmod-socket: 666 
    auto-procname: 1 
    pidfile: /tmp/uwsgi.pid 
    deamonize: /var/log/uwsgi.log 
    manage-script-name: true 
    mount: /ws=/var/hg/repositories/data/test.py 
    callable: app 

回答

2

你必須 「安裝」 在uWSGI的應用程序,目前你有 「安裝」 它是空SCRIPT_NAME

安裝:/ws=test.py

調用的:應用

(刪除'模塊'指令)將做的伎倆。

我建議你避免nginx管理SCRIPT_NAME,因爲它不太聰明,使用modifier1 30真的是一個醜陋的黑客。您的幫助在陸侃真實uWSGI

+0

坦克,局面,現在uswgi給我「導入錯誤:

剛剛從nginx的同時刪除uwsgi_param和uwsgi_modifier1並添加管理腳本名稱。通過文件名導入不支持 無法加載應用程序0(mountpoint ='/ ws')(未找到調用或導入錯誤)「錯誤。僅供參考,我的test.py只是燒瓶主頁 – billyJoe

+0

上發現的一個基本示例,我已經編輯了我的回覆,我認爲並不清楚mount和callable必須在不同的行上 – roberto

+0

我更新了我的初始文章,調整了我的配置。現在uwsgi返回var/hg/repositories/data/test.py on/ws 解釋器0x96db410 pid:21194(默認應用)時,WSGI應用程序0(安裝點='/ ws')準備就緒0 bu什麼都不會附加當我得到xxx .xx.xx.xx:81/ws – billyJoe