我试着用Nginx和Gunicorn部署一个Django项目,有this tutorial个.我做了所有的待办事项,但是,当我使用以下代码创建/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

我怎么才能解决这个问题呢?

推荐答案

你在proxy_params99%的时间里都会弄错路径(根据我的经验),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;

这些参数用于将信息转发到要代理的应用程序.我使用过一台旧的CentOS服务器,它没有proxy_params文件,我没有自己创建一个,而是直接包含了这些参数;位置块是这样的:

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(如果您想继续使用当前代码)

Django相关问答推荐

未显示SWAGER上的一些示例架构

Django中每个类型/代理的最新行

Django Rest Framework 速率限制动态基于用户类型

无法创建超级用户,因为 Django 中的一列(外键)不能为空

如何在没有此前缀的情况下修复此 django 路径?

如何在不编写每个视图中的逻辑的情况下呈现值,Django?

如何在 Django 模板视图中显示我的数据?

Nginx 响应 404 not found on Django media URL in preprod, dev ok

Django 模型命名约定

DeleteView 中的success_message 未显示

Django-Registration:邮箱作为用户名

Django ORM,按天分组

Django error:不能分配必须是实例

无法通过 pip 安装 Django 2.0

Django:获取上次用户访问日期

Django - 无法为具有动态 upload_to 值的 ImageField 创建迁移

如何从 django 的 db 模型中获取字段类型字符串

django - 使用 get_or_create 自动创建用户时设置用户权限

AUTH_USER_MODEL 指的是尚未安装和创建的模型 .. AbstractUser 模型无法登录

左加入 Django ORM