Nginx和Jekyll:在子域中服务

Nginx和Jekyll:在子域中服务,nginx,jekyll,Nginx,Jekyll,我目前一直在配置Jekyll和nginx,以便在VPS上协同工作。 基本上,我设置了从本地机器到VPS的一切和git挂钩 这是我的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

我目前一直在配置Jekyll和nginx,以便在VPS上协同工作。 基本上,我设置了从本地机器到VPS的一切和git挂钩

这是我的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;
    }
}
理想情况下,我希望在
blog.domain.example
blog.server\u ip
上提供
/var/www/blog
中的内容

但是,当运行
jekyllbuild
时,URL都是错误的。我可以在
server\u ip/blog
上看到
index.html
,但是URL中的
/blog/
位没有复制到Jekyll页面的链接中

例如,一篇帖子应该位于
server\u ip/blog/2015/04/07/title
,但我得到的URL是
server\u ip/2015/04/07/title
。CSS文件和图像也是如此


非常感谢您的帮助。

您必须设置
baseurl:“/blog”


并且链接到像这样的帖子
非常感谢,这非常有帮助。设置
{{site.baseurl}}
和仅仅将
“/blog”
添加到
{site.url}
site.url
之间有区别吗?url
协议//域
,仅对feed.xml构成完整url有用。在其他任何地方,我们只需要相对URL,然后我们只需要使用
site.baseurl
。这非常有意义。我的要求是希望不要为了替换链接(特别是图像链接)而阅读几十篇文章@大卫·雅克