Нужна помощь в настройке Hexo Blog с NGINX

Мне нужна помощь в настройке блога на моем дроплете. Я успешно развернул блог с помощью Hexo по адресу blog.mysite.io, но проблема в том, что блог hexo перенаправляет его на blog.mysite.io/blog/public. Теперь я знаю, почему это происходит, это из-за конфигурации блога, которую я настроил как:

_config.yml

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://blog.mysite.io/
root: /blog/public
permalink: :year/:month/:day/:title/

Мой блог находится в /www/data/blog. Причина, по которой я установил корневой каталог как /blog/public, заключается в том, что css и все остальное сломаются, если я этого не сделаю. Блог работает нормально, но только часть HTML.

Вот конфигурация nginx vhosts.conf:

server {
    server_name blog.mysite.io;

    root /www/data/blog/public;
    index index.html index.htm;

        location /
        {
                proxy_pass http://127.0.0.1:4000;
        }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/blog.mysite.io/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/blog.mysite.io/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

Все, что отличается от указанной выше настройки, приводит либо к полной поломке сайта, либо к несоответствию путей. Итак, как я могу обслуживать свой веб-сайт непосредственно по адресу blog.mysite.io?


person Harsh    schedule 17.08.2018    source источник


Ответы (1)


Нужно заменить root: /blog/public на root: / в конфигурации Hexo.

Nginx может найти полный путь к каталогу вашего сайта с помощью директивы root /www/data/blog/public;.

Вы также можете добавить эти настройки в конце конфигурации Nginx:

location / {
    # for static content
    root /www/data/blog/public;
    index index.html;

    # custom 403/404 redirect
    error_page 403 404 =404 /404/;
}
person Ivan Nginx    schedule 17.08.2018