- 特别需要注意的一点是,
jekyll serve
命令是一个启动本地服务的命令,这时若你在_config.yaml
文件中修改url
值,那么你在启动jekyll serve
命令之后其服务地址为你本机的地址即localhost
或者0.0.0.0
,端口号为4000
.即你的配置文件中的url
值相对于这个命令来说是无效的,但是baseurl
仍然生效。_config.yaml
配置一般如下。
site_name: 朱容波教授课题组
title: 朱容波教授课题组
locale: en_CN
url: "http://localhost:80"
enforce_ssl:
baseurl: ""
permalink: "/:year/:title.html"
- 在jekyll中,默认的环境为开发环境,但是官方文档中对
site.url
这个变量的定义为:
Contains the url of your site as it is configured in the _config.yml. For example, if you have url: http://mysite.com in your configuration file, then it will be accessible in Liquid as site.url. For the development environment there is an exception, if you are running jekyll serve in a development environment site.url will be set to the value of host, port, and SSL-related options. This defaults to url: http://localhost:4000。
即需要在生产环境中才可以将网站的url
更改为_config.yaml
中配置的url
。此时需要在项目中配置一个yaml文件在其中写入以下内容:
build:
preview_command: bundle exec jekyll build --drafts --unpublished --future -d _site
publish_command: bundle exec jekyll build -d _site
preview_env:
- JEKYLL_ENV=staging
publish_env:
- JEKYLL_ENV=production
preview_output_directory: _site
output_directory: _site
instant_preview_command: bundle exec jekyll serve --drafts --unpublished --future
--port 80 --host 0.0.0.0 -d _site
- 使用
jekyll build -d 你的输出路径
命令将写好的网站编译到相应的路径中。 - 在你的服务器上安装nginx,并修改
conf/nginx.conf
中的内容。
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root jekyll输出的文件的路径(_site文件夹的路径);//一般不建议用这个
index index.html index.htm;
}
location /aiot/ {//可以将aiot改为任何你想定义的路径
alias jekyll输出的文件的路径(_site文件夹的路径)/; //建议用这个,后面不要忘了加/
}
# location /aiot {
# alias D:/nginx-1.20.2/static/;
# }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
- 建议你在
_config.yaml
文件中修改baseurl
的值,一般设置为你在nginx中配置的路径。不要忘记开放服务器的80端口。