首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx启动失败,错误为pread()“/etc/nginx/sites enabled/sites available”失败(21:目录)

nginx启动失败,错误为pread()“/etc/nginx/sites enabled/sites available”失败(21:目录)
EN

Stack Overflow用户
提问于 2019-11-26 23:30:05
回答 1查看 5.3K关注 0票数 4

我有一个简单的django网站,我试图加载nginx和uwsgi。

当我尝试测试我的nginx配置时,我得到了以下信息:

代码语言:javascript
复制
$ 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

我的站点-可用/默认配置如下:

代码语言:javascript
复制
# 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
    }
}

我在/var/log/nginx/error.log中查看了nginx错误日志,发现:

代码语言:javascript
复制
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)

我还验证了nginx的sites-available/sites-enabled之间已经建立了符号链接

代码语言:javascript
复制
$ 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

这里会出什么问题呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-11-27 00:06:49

您已经符号链接了目录,而不是名为default的文件。

sites-enabled中应该有一个名为default的文件,它是sites-available目录中名为default的文件的符号链接。

试试这个:

代码语言:javascript
复制
cd /etc/nginx/sites-enabled/
rm sites-available;

上面的命令应该会删除导致错误的符号链接。

代码语言:javascript
复制
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/default;

上面的代码应该会创建一个名为default的符号链接。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59054255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档