Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不提供样式表和图像,但提供其他静态文件_Python_Django_Nginx_Gunicorn - Fatal编程技术网

Python 不提供样式表和图像,但提供其他静态文件

Python 不提供样式表和图像,但提供其他静态文件,python,django,nginx,gunicorn,Python,Django,Nginx,Gunicorn,最近,我在开发服务器时使用了djangorunserver命令来启动服务器,并在执行此操作时使其能够很好地服务于静态文件。我决定使用Gunicorn和Nginx,而不是runserver命令。因此,我编辑了我的/etc/nginx/sites available/mysite文件,如下所示: server { listen 80; server_name xxx.xxx.xxx.133; access_log off; location /static/ {

最近,我在开发服务器时使用了django
runserver
命令来启动服务器,并在执行此操作时使其能够很好地服务于静态文件。我决定使用Gunicorn和Nginx,而不是
runserver
命令。因此,我编辑了我的
/etc/nginx/sites available/mysite
文件,如下所示:

server {
    listen 80;
    server_name xxx.xxx.xxx.133;

    access_log off;

    location /static/ {
        alias /opt/myenv/pysauce/static;
    }

    location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_set_header X-Real-IP $remote_addr;
            add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}
我还将
mysite/settings.py
中的
STATIC\u URL
更改为与我的Nginx
站点可用文件中的
location/STATIC/
相同。然后我用
gunicorn mysite.wsgi:application
启动了gunicorn,我就可以进入这个网站了。我知道Gunicorn不能提供静态文件,但我知道Nginx可以


当我访问我的网站时,真正奇怪的部分是没有提供我的样式表,但是自定义字体,也在样式表的静态目录中。我可以通过输入我的地址栏
/static/css/foundation.css
来确认这一点,结果出现了404错误。然而,当我输入地址时,
/static/fonts/UbuntuMono-B.ttf
提示下载。为什么样式表不起作用,而其他静态文件起作用?

使用浏览器访问/static/css/可以吗?
如果无法访问,请检查您的服务器文件夹权限。

使用浏览器访问/static/css/可以吗?
如果无法访问,请检查您的服务器文件夹权限。

使用浏览器访问/static/css/可以吗?
如果无法访问,请检查您的服务器文件夹权限。

使用浏览器访问/static/css/可以吗?
如果无法访问,请检查您的服务器文件夹权限。

我建议您做的第一件事是保留一个日志文件。在配置文件中放入以下行:

access_log /dir/to/your/access.log
error_log /dir/to/your/error.log
接下来,打开日志查看nginx无法访问这些文件的原因。如果你看到

[Errno 13] Permission denied
然后,这是一个权限问题,请使用以下命令授予访问权限:

chmod -R a+x static

我鼓励您做的第一件事是保存一个日志文件。在配置文件中放入以下行:

access_log /dir/to/your/access.log
error_log /dir/to/your/error.log
接下来,打开日志查看nginx无法访问这些文件的原因。如果你看到

[Errno 13] Permission denied
然后,这是一个权限问题,请使用以下命令授予访问权限:

chmod -R a+x static

我鼓励您做的第一件事是保存一个日志文件。在配置文件中放入以下行:

access_log /dir/to/your/access.log
error_log /dir/to/your/error.log
接下来,打开日志查看nginx无法访问这些文件的原因。如果你看到

[Errno 13] Permission denied
然后,这是一个权限问题,请使用以下命令授予访问权限:

chmod -R a+x static

我鼓励您做的第一件事是保存一个日志文件。在配置文件中放入以下行:

access_log /dir/to/your/access.log
error_log /dir/to/your/error.log
接下来,打开日志查看nginx无法访问这些文件的原因。如果你看到

[Errno 13] Permission denied
然后,这是一个权限问题,请使用以下命令授予访问权限:

chmod -R a+x static

静态文件权限应该有问题。试试这两个命令

sudo chmod -R 777 /opt/myenv/pysauce/static

sudo chown -R 777 /opt/myenv/pysauce/static

通过这种方式,您将授予用户通过浏览器访问静态文件的权限。

静态文件权限应该有问题。试试这两个命令

sudo chmod -R 777 /opt/myenv/pysauce/static

sudo chown -R 777 /opt/myenv/pysauce/static

通过这种方式,您将授予用户通过浏览器访问静态文件的权限。

静态文件权限应该有问题。试试这两个命令

sudo chmod -R 777 /opt/myenv/pysauce/static

sudo chown -R 777 /opt/myenv/pysauce/static

通过这种方式,您将授予用户通过浏览器访问静态文件的权限。

静态文件权限应该有问题。试试这两个命令

sudo chmod -R 777 /opt/myenv/pysauce/static

sudo chown -R 777 /opt/myenv/pysauce/static

通过这种方式,您将授予用户通过浏览器访问静态文件的权限。

您在哪个端口运行gunicorn,在哪个端口尝试在浏览器上打开项目?在哪个端口运行gunicorn,在哪个端口尝试在浏览器上打开项目?在哪个端口运行gunicorn您在哪个端口尝试在浏览器上打开项目?您在哪个端口运行gunicorn?您在哪个端口尝试在浏览器上打开项目?出于某种原因,我从未收到您建议的权限拒绝错误,但是,我确实在我的主目录中设置了日志文件。一旦我这样做了,我所有的静态文件都被提供了。另外,我的error.log文件完全是空的。@DorianDore那么添加日志文件后一切都正常了吗?这很奇怪,但很乐意帮忙:)事实上,我的问题是位置/静态/指令。我将其设置为
alias/opt/myenv/pysauce/static
,而正确的设置是
root/opt/myenv/pysauce
。由于某些原因,我从未收到您建议的权限拒绝错误,但我确实在我的主目录中设置了日志文件。一旦我这样做了,我所有的静态文件都被提供了。另外,我的error.log文件完全是空的。@DorianDore那么添加日志文件后一切都正常了吗?这很奇怪,但很乐意帮忙:)事实上,我的问题是位置/静态/指令。我将其设置为
alias/opt/myenv/pysauce/static
,而正确的设置是
root/opt/myenv/pysauce
。由于某些原因,我从未收到您建议的权限拒绝错误,但我确实在我的主目录中设置了日志文件。一旦我这样做了,我所有的静态文件都被提供了。另外,我的error.log文件完全是空的。@DorianDore那么添加日志文件后一切都正常了吗?这很奇怪,但很乐意帮忙:)事实上,我的问题是位置/静态/指令。我将其设置为
alias/opt/myenv/pysauce/static
,而正确的设置是
root/opt/myenv/pysauce
。由于某些原因,我从未收到您建议的权限拒绝错误,但我确实在我的主目录中设置了日志文件。一旦我这样做了,我所有的静态文件都被提供了。另外,我的error.log文件完全是空的。@DorianDore那么添加日志文件后一切都正常了吗?这很奇怪,但很乐意帮忙:)事实上,我的问题是位置/静态/d