北邮人导航是一个开源的网址导航项目,基于 Jekyll 和 Fomantic UI Web 框架,可以部署于 GitHub Pages 上。

本文说明一下在 Docker 里安装的方法,这类开源项目所需的环境什么都有,个人还是比较建议在虚拟机或 Docker 里跑,也省的费劲搭建环境了, 直接拉个现成的用。

预先提示:

如果是使用 Docker 安装,并且要配置统计站的话,建议先新建一个新的网络,并在创建容器时把 Ruby,Matomo 和 MySQL 这几个容器的 IP 固定配置,便于互访。

本文开工的时候没注意到后面还需要多个容器联动这一点,但也懒得改了,自己配置时需要注意。

程序运行需要 Ruby 与 Jekyll 环境,所以直接先拉取一个 Ruby 镜像,我这里选择 2.6 版:

docker pull ruby:2.6

然后创建容器,注意把 4000 端口映射出来,其他参数自己随意:

docker run -dit --restart=always -p 4000:4000 --name=byr ruby:2.6

创建完之后进入容器:

docker exec -it byr bash

由于容器里的系统都是高度精简的版本,因此先来升级一下,我拉取的镜像是基于 Debian 系统作为底包的,所以这里运行:

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

创建站点:

bundle exec jekyll serve -H 0.0.0.0 -P 4000 --detach

注意后面一定要指定参数,jekyll 默认绑定了 127.0.0.1 的地址,导致不加参数直接运行的话,是无法访问项目的。

-H 表示绑定到本机 IP

-P 表示指定端口,根据自己需求修改

--detach 表示后台运行

#调试时可不加后台运行参数,这样直接 Ctrl+C 就能关闭进程

如上图所示就是运行成功了,同时也会提示如果需要结束运行时对应的 pid,去防火墙放行一下 4000 端口,访问 IP+4000 端口即可看到网站:

如果需要修改首页标题这类,可以编辑网站根目录下的_config.yml 文件,效果如下图:

网址的话则是修改_data 目录下的 links.yml,还有各种页面相关信息也是修改此目录下其他文件即可。

页面的今日访客和当前在线等统计数据需要显示的话,还额外需要安装 Matomo 和 MySQL,Matomo 本身又依赖 PHP 和 Nginx,总体麻烦还消耗更多资源,个人使用的话感觉没多大必要安装,这里还是提一下。

分别拉取 Matomo 和 MySQL 镜像:

docker pull crazymax/matomo

docker pull mysql:5.6

注意 Matomo 不能拉取官方的镜像,官方镜像里没有 Nginx,无法直接运行,所以这里使用第三方配置好的。

然后创建 Matomo 容器,把容器里 data 目录和 8000 端口映射出来:

docker run --restart=always -d --name matomo -p 8000:8000 -v /matomo/data:/data crazymax/matomo

再创建 MySQL 容器,3306 端口和对应目录也映射出来,用户名/数据库名这类按自己需求修改:

docker run --restart=always --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=lishuma -e MYSQL_DATABASE=matomo -e MYSQL_USER=matomo -e MYSQL_PASSWORD=matomo -v /matomo/mysql:/var/lib/mysql mysql:5.6

防火墙放行 8000 和 3306 端口,然后访问 IP+8000 端口即可看到 Matomo 界面:

一路下一步,数据库信息按照自己设定的填写即可,注意服务器地址填写外部物理机的 IP,比如我这里是 192.168.1.119:

接着设定管理员密码之类即可,不再多说,然后添加站点里填写对应地址时区等,我这里没绑定域名,就直接写 IP 地址了:

网站地址直接写 IP 有个问题就是程序会提示不安全,需要去根目录下的/matomo/data 文件夹,也就是容器里映射出来的目录,修改 config.ini.php,添加一行:

enable_trusted_host_check=0

然后登陆后台,可以先把语言改成中文,然后左侧的平台菜单里获取自己的 API。网站菜单里选择管理,查看网站 ID,一般第一个网站默认 ID 就是 1。

知道了 ID 和 API 后,返回到网站主程序目录下的_data 目录,修改其中的 analytics.yml。

url 改成统计站的地址,domains 填写导航站的地址,比如我这里主站点为 4000 端口,统计站为 8000 端口,就如下图填写:

统计站的通用设置里还需要设置一下跨域资源共享,填上导航站的地址,保存退出即可:

整个流程到这里就完成了,导航站刷新首页后即可看到当前访客数和在线人数等数据了:

其他剩下的就不赘述了,首页其他修改基本都是依葫芦画瓢的事,没什么难度。

北邮人导航html代码,北邮人导航 · BYR-Navi 的安装与配置相关推荐

  1. linux samba代码,Linux下Samba服务器源码安装及配置

    获取samba源代码 你可以通过执行svn命令svn co svn://svnanon.samba.org/samba/trunk samba.获取最新的samba源文件,也可以直接从http://s ...

  2. 北东地坐标系转换c语言,北东地/东北天两种导航坐标系与姿态转换

    一. 坐标系 1. 导航坐标系 常用的导航坐标系有北东地和东北天两种. 两种坐标系的指向分别定义如下: 1.1 北东地坐标系 X轴:指北; Y轴:指东; Z轴:指地. 1. 2 东北天坐标系 X轴:指 ...

  3. 北东地/东北天两种导航坐标系与姿态转换

    一. 坐标系 1. 导航坐标系 常用的导航坐标系有北东地和东北天两种. 两种坐标系的指向分别定义如下: 1.1 北东地坐标系  X轴:指北;  Y轴:指东;  Z轴:指地. 1. 2 东北天坐标系   ...

  4. php 导航高亮,zblogphp导航高亮代码分享教程

    导航高亮如本站演示,首页.列表页.文章页均可高亮.因为本站的主题是一个免费的zblogphp主题,所以一些好的东西可能没有,所以只好自己研究,本身自带导航高亮的功能,但是只有首页和列表页才有高亮显示, ...

  5. 基于jQuery垂直多级导航菜单代码

    基于jQuery垂直多级导航菜单代码是一款黑色风格的jQuery竖直导航菜单特效下载.效果图如下: 在线预览    源码下载 实现的代码. html代码: <ul class="ce& ...

  6. 弧形背景html,JS实现带圆弧背景渐变效果的导航菜单代码

    本文实例讲述了JS实现带圆弧背景渐变效果的导航菜单代码.分享给大家供大家参考.具体如下: 这是一款效果个性的JS+CSS导航菜单,鼠标经过时出现有趣弧形背景,实际上,这里用CSS调用了背景,用Java ...

  7. html自动切换文字,JS实现自动切换文字的导航效果代码

    本文实例讲述了JS实现自动切换文字的导航效果代码.分享给大家供大家参考.具体如下: 这里介绍支持自动切换文字的导航菜单效果,实际上看上去并不像菜单,猛一看倒像是一个Select下拉框,两侧带有箭头控制 ...

  8. java手风琴代码_[Java教程]18款jquery抽屉式手风琴导航特效代码

    [Java教程]18款jquery抽屉式手风琴导航特效代码 0 2015-11-12 21:00:05 jquery hover抽屉式导航图片展开收缩代码 jQuery仿瑞丽鼠标滑过图片手风琴展开特效 ...

  9. 蓝色箭头间隔css导航菜单代码

    蓝色箭头间隔css导航菜单代码 演示图片: 详细代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...

最新文章

  1. 惊艳了!升级版的 APDrawing,秒让人脸照变线条肖像画
  2. C# 计时函数精度测试
  3. 投资银行对Java进行的二十大核心面试问答
  4. mysql增数据语句_Mysql 数据增删改查语句
  5. CUDA C编程权威指南 第八章 多GPU编程
  6. 为什么女性创业举步维艰?
  7. ITFriend创业败局(五):创业可以停止,公司必须注销,不然后果很严重
  8. Linux cache清理
  9. 【洛谷P1507 NASA的食物计划】动态规划
  10. mysql二进制文件如何查看_使用mysqlbinlog查看MySQL二进制文件内容
  11. 留言板php数据库_PHP 留言板教程数据库表设计
  12. 服务器显示断开网络驱动器,网络驱动器
  13. 马尔科夫随机场:定义、性质,最大后验概率问题,能量最小化问题
  14. phpstudy php乱码,PHP_完美解决PHP中文乱码,一.首先是PHP网页的编码 1. php - phpStudy...
  15. 【3D游戏建模全流程教学】使用3dsmax与UE4制作世界末日地铁场景
  16. 中国金控盐碱地水稻 国稻种芯-林裕豪:粮食安全两会热点
  17. 野猪写的《游戏程序中的骨骼插件》
  18. EMC trainning杂谈
  19. IEEE 754浮点数标准详解
  20. 2014年国务院批准放假调休日期的具体安排通知

热门文章

  1. el-table 设置斑马纹的效果,改变鼠标移入时和斑马纹的默认颜色
  2. 数据可视化:python调用pyecharts库绘制航线专题图
  3. 留学生快速斩获IT名企实习offer的5大攻略
  4. 财务管理软件系统有哪些特点?
  5. win10电脑怎么设置禁止自动安装软件?
  6. demonstration记忆_雅思分类词汇背诵记忆:教育2
  7. 十款没人发过的Java游戏源码(含Android)
  8. OpenCV学习笔记(九)——图像轮廓(下)
  9. Axure8.0教程:动态面板多级联动
  10. 分布式存储系统——《MySQL海量数据存储与优化》