django - nginx 失败成功启动错误 pread() "/etc/nginx/sites-enabled/sites-available" failed (21: Is a directory)
问题描述
我有一个简单的 django 网站,我试图用 nginx 和 uwsgi 加载。
当我尝试测试我的 nginx 配置时,我得到以下信息:
$ sudo nginx -t
nginx: [crit] pread() "/etc/nginx/sites-enabled/sites-available" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed
我的站点可用/默认配置如下所示:
# the upstream component nginx needs to connect to
upstream django {
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name website.com xx.xx.x.x; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 2M; # adjust to taste
# Django media
#location /media {
# alias ; # your Django project's media files - amend as required
#}
location /static {
alias /static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass 127.0.0.1:8001;
include uwsgi_params; # the uwsgi_params file you installed
}
}
我查看了nginx错误日志/var/log/nginx/error.log
,发现:
2019/11/26 14:29:53 [crit] 7702#7702: pread() "/etc/nginx/sites-enabled/sites-available" failed (21: Is a directory)
2019/11/26 15:05:25 [crit] 7736#7736: pread() "/etc/nginx/sites-enabled/sites-available" failed (21: Is a directory)
我还验证了在 nginxsites-available/
和之间建立了一个符号链接sites-enabled
:
$ sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
ln: failed to create symbolic link '/etc/nginx/sites-enabled/sites-available': File exists
这里可能出了什么问题?
谢谢
解决方案
您已经符号链接了目录而不是名为default
.
应该有一个文件sites-enabled
被调用,它是目录中调用文件default
的符号链接。default
sites-available
尝试这个:
cd /etc/nginx/sites-enabled/
rm sites-available;
以上应删除导致错误的符号链接。
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/default;
上面应该创建一个名为default
.
推荐阅读
- angular - 图像选择器在 p 编辑器中不起作用 (Primeng)
- jelastic - 有没有办法在我的jelastic清单中的单独操作中获取有关创建环境的信息?
- sql - MDX 查询数量超过 10 行的总售价
- machine-learning - 我可以在 LIBSVM 的 svmtrain 中进行哪些修改以提高垃圾邮件分类器的准确性?
- android - Audience Network:错误 1203:广告请求中的显示格式与为此展示位置指定的显示格式不匹配
- azure-keyvault - 找不到用户访问 Key Vault 凭据的日志
- javascript - javascript ES6 中的这个匿名块是什么?
- android - Nativescript appium 测试安装旧版本
- javascript - 我有一个 div,它需要动态复制
- tensorflow - 如何修复“考虑使用 `--user` 选项或检查权限”错误?