Linux系统之部署Homepage个人导航页

news2024/11/25 3:30:21

Linux系统之部署Homepage个人导航页

  • 一、Homepage介绍
    • 1.1 Homepage简介
    • 1.2 Homepage主要特点
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、检查本地环境
    • 3.1 检查本地操作系统版本
    • 3.2 检查系统内核版本
    • 3.3 检查系统是否安装Node.js
  • 四、部署Node.js 环境
    • 4.1 下载Node.js安装包
    • 4.2 解压Node.js安装包
    • 4.3 复制二进制文件
    • 4.4 配置环境变量
    • 4.5 查看node版本
  • 五、下载Homepage源码
    • 5.1 下载Homepage源码
    • 5.2 查看Homepage源码目录
  • 六、安装pnpm工具
    • 6.1 设置npm镜像源
    • 6.2 安装pnpm工具
  • 七、部署Homepage导航页
    • 6.1 安装依赖项
    • 6.2 构建项目
    • 6.3 启动Homepage服务
    • 6.4 检查Homepage监听端口
    • 6.5 查看Homepage配置文件
  • 七、设置防火墙和selinux
    • 7.1 设置防火墙和selinux
    • 7.2 安全组放行端口
  • 八、访问Homepage

一、Homepage介绍

1.1 Homepage简介

一个现代(完全静态、快速)、安全(完全代理)、高度可定制的应用程序仪表板,集成了超过 25 种服务和超过 15 种语言的翻译。

1.2 Homepage主要特点

  • 部署方便,可通过docker快速部署。
  • 服务和网络书签
  • 21 种主题颜色,支持浅色和深色模式
  • 系统统计信息(磁盘、CPU、内存)
  • 信息和实用工具小部件
  • 支持AMD64 (x86_64)、ARM64、ARMv7 和 ARMv6 构建的映像

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname本地P地址操作系统版本内核版本node.js版本
ecs-8cc7192.168.0.22centos 7.63.10.0-1160.53.1.el7.x86_64v16.17.0

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境;
2.本次使用服务器为华为云ECS云服务器;
3.在centos7.6环境下安装Homepage导航页。

三、检查本地环境

3.1 检查本地操作系统版本

检查本地操作系统版本

[root@ecs-8cc7 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 


3.2 检查系统内核版本

检查系统内核版本

[root@ecs-8cc7 ~]# uname -r 
3.10.0-1160.53.1.el7.x86_64


3.3 检查系统是否安装Node.js

检查系统是否安装Node.js

[root@ecs-8cc7 ~]# node -v
-bash: node: command not found

四、部署Node.js 环境

4.1 下载Node.js安装包

下载Node.js安装包

wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

4.2 解压Node.js安装包

解压Node.js安装包

tar -xvJf node-v16.17.0-linux-x64.tar.xz

在这里插入图片描述

4.3 复制二进制文件

将 /root/node-v16.17.0-linux-x64/bin/下的二进制文件复制到/usr/local/bin下

cp -a /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
cp -a /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

4.4 配置环境变量

  • 在/etc/profile文件中,新增以下两行:
export NODE_HOME=/root/node-v14.17.0-linux-x64/bin/
export PATH=$PATH:$NODE_HOME:/usr/local/bin/

  • 使变量生效
source /etc/profile

4.5 查看node版本

查看node版本

[root@ecs-8cc7 ~]# node -v
v16.17.0
[root@ecs-8cc7 ~]# npm -v
8.15.0

五、下载Homepage源码

5.1 下载Homepage源码

Homepage源码

git clone https://github.com/benphelps/homepage.git

5.2 查看Homepage源码目录

查看Homepage源码目录

[root@ecs-8cc7 data]# tree -L 2 ./homepage/
./homepage/
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docker-entrypoint.sh
├── Dockerfile
├── Dockerfile-tilt
├── images
│   ├── 1.png
│   ├── 2.png
│   ├── 3.png
│   ├── 4.png
│   ├── 5.png
│   ├── 6.png
│   ├── banner_dark@2x.png
│   ├── banner_light@2x.png
│   └── icons
├── jsconfig.json
├── k3d
│   ├── k3d-deploy.sh
│   ├── k3d-down.sh
│   ├── k3d-helm-values.yaml
│   ├── k3d-up.sh
│   ├── k3d.yaml
│   ├── README.md
│   └── Tiltfile
├── kubernetes.md
├── LICENSE
├── next.config.js
├── next-i18next.config.js
├── package.json
├── package-lock.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
│   ├── android-chrome-192x192.png
│   ├── android-chrome-512x512.png
│   ├── apple-touch-icon.png
│   ├── favicon-16x16.png
│   ├── favicon-32x32.png
│   ├── homepage.ico
│   ├── locales
│   ├── mstile-144x144.png
│   ├── mstile-150x150.png
│   ├── mstile-310x150.png
│   ├── mstile-310x310.png
│   ├── mstile-70x70.png
│   └── safari-pinned-tab.svg
├── README.md
├── src
│   ├── components
│   ├── pages
│   ├── skeleton
│   ├── styles
│   ├── utils
│   └── widgets
└── tailwind.config.js

12 directories, 43 files

六、安装pnpm工具

6.1 设置npm镜像源

  • npm设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
  • 查看npm镜像源
[root@ecs-8cc7 data]# npm get registry
https://registry.npm.taobao.org/

6.2 安装pnpm工具

全局安装


npm install pnpm -g

在这里插入图片描述

七、部署Homepage导航页

6.1 安装依赖项

  • 安装依赖项
pnpm install

在这里插入图片描述

6.2 构建项目

  • 复制配置文件目录
cp -a src/skeleton/ config
  • 构建Homepage项目
pnpm build

在这里插入图片描述

6.3 启动Homepage服务

启动Homepage服务

pnpm start &

在这里插入图片描述

6.4 检查Homepage监听端口

检查Homepage监听端口

[root@ecs-8cc7 homepage]# ss -tunlp |grep 3000
tcp    LISTEN     0      511       *:3000                  *:*                   users:(("node",pid=13090,fd=20))

6.5 查看Homepage配置文件

在conf/目录下,存放Homepage的配置文件。

  • 查看services.yaml
[root@ecs-8cc7 config]# cat services.yaml 
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/services

- My First Group:
    - My First Service:
        href: http://localhost/
        description: Homepage is awesome

- My Second Group:
    - My Second Service:
        href: http://localhost/
        description: Homepage is the best

- My Third Group:
    - My Third Service:
        href: http://localhost/
        description: Homepage is 😎

  • 查看widgets.yaml
[root@ecs-8cc7 config]# cat widgets.yaml 
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/widgets

- resources:
    cpu: true
    memory: true
    disk: /

- search:
    provider: duckduckgo
    target: _blank

  • 查看docker.yaml
[root@ecs-8cc7 config]# cat docker.yaml 
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/docker/

# my-docker:
#   host: 127.0.0.1
#   port: 2375

# my-docker:
#   socket: /var/run/docker.sock

  • 查看bookmarks.yaml
[root@ecs-8cc7 config]# cat bookmarks.yaml 
---
# For configuration options and examples, please see:
# https://gethomepage.dev/en/configs/bookmarks

- Developer:
    - Github:
        - abbr: GH
          href: https://github.com/

- Social:
    - Reddit:
        - abbr: RE
          href: https://reddit.com/

- Entertainment:
    - YouTube:
        - abbr: YT
          href: https://youtube.com/

七、设置防火墙和selinux

7.1 设置防火墙和selinux

如果需要开启防火墙,则需要放行3000端口

  • 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
getenforce 

7.2 安全组放行端口

由于在云服务器中部署实践,需要在安全组放行3000端口。

在这里插入图片描述

八、访问Homepage

访问地址:http://190.92.215.198:3000/
IP地址替换成自己服务器的IP地址。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

感谢ChatGPT,救了我狗的命!

前一段时间,国外一位小哥哥在推特上发布了一条消息,声称GPT-4拯救了自家狗狗的性命。 这是怎么一回事呢? 这个小哥哥养了一只两岁的边境牧羊犬,这只牧羊犬被诊断出患有蜱传疾病,这属于一种细菌性传染病。 虽然小哥哥一…

30分钟吃掉DQN算法

表格型方法存储的状态数量有限,当面对围棋或机器人控制这类有数不清的状态的环境时,表格型方法在存储和查找效率上都受局限,DQN的提出解决了这一局限,使用神经网络来近似替代Q表格。 本质上DQN还是一个Q-learning算法,…

金九银十预备秋招: 大厂面试必考点及 Java 面试框架知识点整理

Java 面试 “金九银十”这个字眼对于程序员应该是再熟悉不过的了,每年的金九银十都会有很多程序员找工作、跳槽等一系列的安排。说实话,面试中 7 分靠能力,3 分靠技能;在刚开始的时候介绍项目都是技能中的重中之重,它…

龙膜公益“聚光行动”再起航 为云南山区小学援建绿色电脑教室

中国,上海——近日,全球汽车膜品牌龙膜的公益活动“为山区学校援建绿色电脑教室”在云南泸西县再度起航。为当地的“阿盈里小学”和“歹鲁小学”添置了2间电脑教室,配备了82台再生电脑,为600多名学生提供了数字化设备的使用机会&a…

Android Hilt:强大的依赖注入框架,高级传参解个耦?

作者:J船长 一、Hilt 干依赖注入的 Hilt是干嘛的 Hilt,一个依赖注入框架,谷歌搞出来的,基于Dagger,但是更加简洁易用。 什么是依赖注入 (Dependency Injection) 依赖注入是一种设计模式。主…

高校劳动积分小程序/基于微信小程序的高校劳动积分系统

摘 要 随着信息技术互联网和小程序的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的微信小程序应运而生,各行各业相继进入信息管理…

系统架构设计师-系统工程与信息系统基础(1)

一、系统工程概念 【系统工程】是一种组织管理技术。 【系统工程】是为了更好的实现系统的目的,对系统的组成要素、组成结构、信息流、控制机构进行分析研究的科学方法。 【系统工程】从整体出发、从系统观念出发、以求【整体最优】 【系统工程】利用计算机作为…

开放式耳机会不会吵到别人?2023年开放式耳机科普!

在了解开放式耳机会不会吵到别人之前,我们先了解下开放式耳机的基本知识! 开放式耳机是一种不入耳,没有封闭耳朵的蓝牙耳机,可以听歌的同时接收来自外界声音,安全性高,也减少长期佩戴耳机带来的负担&#…

2023火爆的11门编程语言

2023火爆的11门编程语言 对于我个人来说没有语言偏好,根据不同的应用领域和需求,不同的编程语言都有其独特的优势和适用性。无论使用何种语言只要能更好的实现需求,解决痛点问题,就是好语言。 那么各种语言应用的场景解决了哪些…

项目管理专业人员能力评价CSPM与项目管理PMP对应关系

2021年10月,中共中央、国务院发布的《国家标准化发展纲要》明确提出构建多层次从业人员培养培训体系,开展专业人才培养培训和国家质量基础设施综合教育。建立健全人才的职业能力评价和激励机制。由中国标准化协会(CAS)组织开展的项…

Solon 成为信通院可信开源社区、可信开源项目

自2021年9月17日成立以来,可信开源社区共同体共有五批新成员加入。在4月21日“OSCAR开源生态建设论坛”上,可信开源社区共同体又迎来2位正式成员和6位预备成员,Solon 为其一(图之右下角): 图片引用自CAICT可…

开放式耳机和封闭式耳机的区别?开放式耳机到底有哪些优缺点?

开放式耳机从字面意思可以理解为:开放耳朵,不需要入耳就可以听见声音的耳机,所以它和封闭式耳机的最大区别就是不入耳。这种耳机最大的优点就是不压迫不封闭耳道,而且在听耳机音的同时能够及时注意到周围环境的声音,从…

轻量级日志系统Loki——安装配置

关注“云计算就该这么学”微信公众号,搜索“001”,即可获取氪肝整理的154页Linux学习笔记。 Loki对标EFK/ELK,由于其轻量的设计,备受欢迎,Loki相比EFK/ELK,它不对原始日志进行索引,只对日志的标…

《主责数据保护与流动安全监管框架》重磅发布,美创以“产业研究力量”深入参与

历时四年,聚合行业安全专家智慧,凝炼行业安全最佳实践,数字时代:基于行业最佳实践的《主责数据保护与流动安全监管框架》(以下简称“框架”)于2023年6月17日第三届数字安全大会上正式发布。 该框架是在中国…

基于SpringBoot+Html的前后端分离的学习平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 在知识大爆炸的现代,怎…

一.Elasticsearch快速入门及使用

Elasticsearch快速入门及使用 一.Elasticsearch是什么二.基本概念1.index (索引)2. type (类型)3.Document (文档) 三.为什么Elasticsearch可以从海量数据里快速检索出数据四.Elasticsearch安装1.解压2.运行3.显示以下内容就是启动成功14.Kibana可视化软件安装 五.入门(基本的操…

代码浅析Point-LIO

0. 简介 对于最近出来的Point-LIO(鲁棒高带宽激光惯性里程计),本人还是非常该兴趣的,为此花了一些时间重点分析了Point-LIO的代码,并研究了它相较于Fast-LIO2的区别 1. laserMapping.cpp 第一部分就是实现对激光雷达视场角的图像分割。首先…

Day01 项目简介分布式基础概念

最近在改进公司开发的商城项目,看到了尚硅谷的谷粒商城,就快速学习了下,因为之前的Kafka,Redis都是在这学习的,还有大数据的Flink。所以感觉一定不错,就开始了。 这里做一下学习笔记 一、项目简介 1 、项目背景 1 &…

UIAutomatorViewer工具的使用

目录 前言: 一、uiautomatorviewer介绍 二、启动uiautomatorviewer 三、uiautomatorviewer界面 四、连接手机 前言: UIAutomatorViewer是Android SDK提供的一个可视化界面分析工具,可以用于查看Android应用的UI界面结构、属性信息以及布…

元宇宙在技术大爆炸时代迎来链游新世界

元宇宙是从虚拟游戏、虚拟艺术收藏品开始兴起,然后逐步扩展到社交和金融领域的。元宇宙的终极形态就是一种“无限游戏”,也即打破边界、颠覆规则、不断迭代和进化发展的新世界。 政策落地,元宇宙未来才能充满潜力 2021 年以来,元…