我跟隨this deployment tutorial運行Flask with UWSGI和Nginx。在幻燈片編號11的nginx的配置文件的內容給出:標準nginx.conf文件出錯。在哪裏包含服務器定義?
server {
listen 8080;
server_name myapp;
root /var/www/myapp;
try_files $uri @uwsgi;
location @uwsgi {
include uwsgi_params;
uwsgi_pass unix:/tmp/myapp.sock;
}
}
,並從下一據我所知,這些內容應該進入文件/etc/nginx/sites-available/www
幻燈片(12號)。所以我按照我的理解做了,但重新啓動nginx(sudo service nginx restart
)後,出現錯誤,說nginx: configuration file /etc/nginx/nginx.conf test failed
。
奇怪的是,我從來沒有碰過那個nginx.conf文件(我複製了它的內容here on pastebin),它仍然會導致錯誤。
有人知道我做錯了什麼,更重要的是,我該如何解決這個問題?歡迎所有提示!
[編輯] 從@MohammadAbuShady提示後,我修復了空間@
和uwsgi
,但我仍然得到相同的錯誤。運行建議sudo nginx -t
給我以下信息:
nginx: [emerg] unknown directive "uwsgi_param" in /etc/nginx/uwsgi_params:1
nginx: configuration file /etc/nginx/nginx.conf test failed
這是否給出任何新的信息?
感謝您的想法。我真的犯了'@ uwsgi'錯誤。我修正了這個問題,但我仍然得到同樣的錯誤。我也跑了你的建議'sudo nginx -t',並將結果錯誤添加到我的問題中。這是否會給你更多關於可能出錯的信息? – kramer65
看來你的nginx不支持'uwsgi',請嘗試運行'sudo apt-get install nginx-full',如果我沒有錯,並且正確記得,它會說它會卸載另一個nginx並將其替換爲'nginx-full',試試看 –