V
V
VN2021-05-07 14:42:24
Nginx
VN, 2021-05-07 14:42:24

Why is nginx not displaying styles and images?

On an empty Ubuntu 20.04, nginx is installed

nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-5J5hor/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module

Config :
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
}

http {

       include /etc/nginx/mime.types;
       default_type application/octet-stream;

       server {

                listen 80;
                server_name localhost;
                root /sites/bootstrap;

       }

}

The mime.types directive is present.
But all images and styles are rendered as text/plain. Style request example:
curl -I http://localhost/dist/css/bootstrap.css
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Fri, 07 May 2021 10:23:18 GMT
Content-Type: text/plain
Content-Length: 178152
Last-Modified: Thu, 18 Jan 2018 18:29:48 GMT
Connection: keep-alive
ETag: "5a60e79c-2b7e8"
Accept-Ranges: bytes

Accordingly, the site looks like this
6095260f16b35098877150.png
Although all styles and images are present in DevTools

In the logs, nginx swears at the absence of files, although they are
{{ site.baseurl }}/assets/img/bootstrap-stack.png" failed (2: No such file or directory

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
ky0, 2021-05-07
@ky0

MIME has nothing to do with it (although CSS should, in theory, be given as text/css, yes), you just don't load resources. Judging by the error, the template just doesn't work. Nginks knows {{ site.baseurl }}nothing about yours, of course.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question