このチュートリアル を使用して、NginxとGunicornでDjangoプロジェクトをデプロイしようとします。私はすべてのタスクを行いましたが、以下のコードで/etc/nginx/sites-available/myproject
ファイルを作成すると、
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/sammy/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
}
}
検索エラーに対してSudo nginx -t
を実行すると、次のエラーが発生します。
nginx: [emerg] open() "/etc/nginx/proxy_params" failed (2: No such file or directory) in /etc/nginx/sites-enabled/myproject:11
nginx: configuration file /etc/nginx/nginx.conf test failed
どうしたの??そしてそれを解決する方法? Tanx
proxy_params
のパスが99%間違っています(私の経験から)。proxy_params
ファイルのデフォルトの場所は/etc/nginx/proxy_params
ですが、これはあなたも同じ。
proxy_params
ファイルには以下が含まれます。
proxy_set_header Host $http_Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
プロキシしているアプリケーションに情報を転送するために使用される、私はproxy_paramsファイルを持たない古いCentosサーバーで作業しました。自分で作成する代わりに、これらのパラメーターを直接含めただけなので、ロケーションブロックが見えましたこのような
location / {
proxy_set_header Host $http_Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/sammy/myproject/myproject.sock;
}
したがって、それはあなた次第です。ファイルが別の場所に存在する場合は、適切な場所に含めるだけです。
include /path/to/proxy_params
それ以外の場合は、パラメーターをロケーションブロックに直接含めることができます(上記のように)
または、自分で作成して/ etc/nginxに配置します(現在のコードを使いたい場合)