philsilver 大佬有话说 :
Docker部署北邮人导航BYR-Navi教程(简化版)
本帖最后由 philsilver 于 2021-8-6 14:43 编辑
这几天弄了个导航,采用的是新版BYR-Navi的源码,界面很好看,而且采用docker部署,快捷方便,20分钟内可以搞定。
新版BYR-Navi导航地址:https://byr-navi.com/
旧版BYR-Wiki导航地址:http://byr.wiki/
本教程原链接:https://zhuanlan.zhihu.com/p/95212970
针对兼容性问题有略微修改
首先拉取镜像,2.7.3或2.6的都可以,3.0.2存在兼容性问题(可解决)
docker pull ruby:2.7.3
创建容器,注意把 4000 端口映射出来,其他参数自己随意:
docker run -dit –restart=always -p 4000:4000 –name=byr ruby:2.7.3
进入容器:
docker exec -it byr bash
运行一下更新系统源:
apt-get update
安装Vim,后续要用
apt-get -y install vim
接着在容器里安装 Jekyll 等:
gem install jekyll bundler
拉取项目:
git clone https://github.com/BYR-Navi/BYR-Navi.git
进入项目目录:
cd BYR-Navi
编辑项目 gem 文件:
vi Gemfile
然后把文件第一行的源地址,由 https://rubygems.org 改成 https://gems.ruby-china.com,然后保存退出即可。
修改这个的主要原因是默认的官方源地址在国内访问速度实在过于感人,国外机子的话这个无需修改。
安装依赖:
bundle install
创建站点:(ruby版本3.0.2的会在此报错 ‘无法加载webrick’,需要运行bundle add webrick后创建站点)
bundle exec jekyll serve -H 0.0.0.0 -P 4000 –detach
注意后面一定要指定参数,jekyll 默认绑定了 127.0.0.1 的地址,导致不加参数直接运行的话,是无法访问项目的。
-H 表示绑定到本机 IP
-P 表示指定端口,根据自己需求修改
–detach 表示后台运行
然后去防火墙放行一下 4000 端口,访问 IP:4000端口即可看到网站。
如果需要修改首页标题这类,可以编辑网站根目录下的_config.yml 文件。(宝塔用户嫌麻烦的可以直接在文件搜索_config.yml,勾选包含子目录,然后一般第一个文件右键看看属性,/BYR-Navi/下的文件就是,打开文件所在目录即可。网站设置均在此目录下进行,如有能力的mjj们可以自己动手修改样式、图标、底色等等等等。
修改网站链接之类的在BYR-Navi/_data/下的links.yml文件中修改。(如果自己有格式错误,可以搜索网上的yml格式在线校验网站进行校验修改)
最后:反代。
宝塔新建网站,php版本选择静态,然后先申请ssl证书,开启强制ssl。
然后在网站设置中添加一个反向代理,名称随意,目标url填入 https://IP:4000,提交。
如果需要先更改网站设置之类的,建议先不在反代中开启1分钟缓存,建议设置完之后开启缓存。
修改文件后数据不会立即生效,
需要进入容器:
docker exec -it byr bash
进入BYR/Navi/目录下,使用ps -a,找到bundle进程
采用 kill -9 pid杀进程后,采用如下命令重新生成网站(修改文件后的)
bundle exec jekyll serve -H 0.0.0.0 -P 4000 –detach