2015-04-07 4 views
1

Я сейчас застрял в настройке Jekyll и nginx для совместной работы на VPS. По сути, я настроил все и git-крючок с моей локальной машины на VPS.Nginx и Jekyll: обслуживание в поддомене

Вот мой Nginx конфигурационный файл:

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /var/www; 
    index index.php index.html index.htm; 

    server_name server_ip; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    error_page 404 /404.html; 
    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /var/www; 
    } 

    location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
    } 
} 
server { 
    listen 80; 
    server_name server_ip/blog; 

    location/{ 
    root /var/www/blog; 
    index index.html index.htm; 
    } 
} 

В идеале я хотел бы, чтобы служить то, что в /var/www/blog на blog.domain.example или blog.server_ip в данный момент.

Однако при запуске jekyll build URL-адреса неверны. Я могу видеть index.html по адресу server_ip/blog, но бит /blog/ в URL-адресе не реплицируется в ссылках на странице Jekyll.

Например, сообщение должно быть размещено в server_ip/blog/2015/04/07/title, но указанному URL-адресу является server_ip/2015/04/07/title. То же самое касается CSS-файлов и изображений.

Большое спасибо за помощь.

ответ

2

Вы должны установить baseurl: "/blog"

и ссылки на посты как этот <a href="{{site.baseurl}}{{post.url}}>....

И вообще использовать {{site.baseurl}} для создания любого URL-адреса.

+0

Большое спасибо, это было очень полезно. Есть ли разница между установкой '{{site.baseurl}}' и просто добавлением ''/blog "' к '{{site.url}}'? – basbabybel

+0

'site.url' - это' protocol // domain' и полезен только для feed.xml для составления полных URL-адресов. В любом другом месте нам нужны только относительные URL-адреса, тогда мы просто используем 'site.baseurl'. –

+0

Это делает большой смысл. Я просил в надежде, что вам не придется проходить через десятки статей, чтобы заменить ссылки (в частности, на изображения). @ Дэвид-jacquel – basbabybel

Смежные вопросы