花森导航/huasenjio导航系统 - 开源免费的网站导航系统


花森起始页由网址导航、博客系统、后台管理系统组成,内容涵盖了日常生活、娱乐、学习、影视、考研、工作、科技、实用工具等领域,致力于提供聚合高效地上网冲浪环境的公益性平台!

花森导航/huasenjio导航系统 - 开源免费的网站导航系统


演示

https://n.huasenjio.top/

系统介绍

✅ 界面响应式适配,不同设备完美呈现;

✅ 数据离线本地存储,无需登录,畅享所有功能,支持数据迁移恢复;

✅ 动态爬虫页,生成 Sitemap,优化 SEO 效果;

✅ 云端备份,多设备数据同步;

✅ 自定义网站收录,收藏精品站点;

✅ 鼠标右键改色,更换皮肤壁纸,调整明暗、模糊度,创建专属皮肤;

✅ 极简模式,干净简洁;

✅ 聚合主流搜索引擎,支持百度热词提示;

✅ 站内链接搜索,支持从网站名称、描述等信息,过滤站点,一键直达网站;

✅ 邮箱登录/注册;

✅ 标签、网链、栏目、订阅源相互关联,多角度分类资源;

✅ 时钟、天气信息实时展示;

✅ Markdown 文章阅读,支持三级锚点目录;

✍️ 网链二级详情页;

✍️ AI 对话;

☑️ 提交链接;

☑️ ...

后台管理
✅ 实时访客及在线用户(支持踢下线)统计,记录 PV、UV、IP、反向链接、设备,精准掌控流量(不涉及敏感信息);

✅ 服务器状态监听,记录 CPU、内存、磁盘使用占比;

✅ Markdown 文章发布,支持右键粘贴图片;

✅ 订阅源、栏目、网链管理;

✅ 用户、权限、黑名单(IP)管理;

✅ 文件管理,支持图片、视频、PDF、文档、压缩包等文件存储;

✅ 支持文字、上传、爬取三种方式制作网链图标;

✅ 调试工具,包括运行时脚本执行面板、JSON 格式化及对象字面量互转;

✅ 配置管理,支持更换品牌名、LOGO、关键词、描述、所属城市、公告文章、重定向地址、JWT 密钥、headHTML、bodyHTML、页脚、邮箱服务、搜索引擎、壁纸等信息;

✅ 路由标签化展示,支持页面缓存;

✍️ AI 对话应用管理;

☑️ 提交链接管理;

☑️ ...

后台服务
✅ 自研并发处理模块,轻松抗下 1000 并发;

✅ 一键容器化部署,经典的 MVC 架构,数据库、redis 解耦,支持直连服务;

✅ 权限管理,支持 jwt 身份校验;

✅ 加密传输,包含对称、非对称、数字签名加密传输;

✅ 邮件服务,支持发送验证码,帮助用户注册/登录;

✅ 日志服务,详细记录敏感操作,安全回溯;

✅ 定时任务服务;

✅ Websocket 实时通讯;

✅ 多线程处理物理机状态及访问数据;

✅ 文件上传,支持控制文件类型、大小、数量等;

✅ CORS 跨域;

✅ 静态目录;

✅ 爬虫、黑名单拦截中间件;

☑️ 资源防盗链;

☑️ ...

部分展示

前台:

花森导航/huasenjio导航系统 - 开源免费的网站导航系统

后台:

花森导航/huasenjio导航系统 - 开源免费的网站导航系统

🚀 快速部署

环境要求

操作系统要求 CentOS 7.x,建议 7.4;
云服务器要求至少 1 核 2G,带宽 2M+,否则首次加载过慢;

方式 1:一键脚本部署(推荐)

链接服务器SSH,依次输入以下命令

curl -O https://www.huasenjio.top/huasen-store/open-sh/install.sh

chmod +x install.sh

./install.sh

如果运行失败,重新运行即可

强烈建议选择方式一部署。
首页:http://服务器IP/portal
后台:http://服务器IP/admin

方式 2:宝塔部署
上传源码

由于宝塔自带 git,所以可以手动上传或克隆源码到服务器。

启动容器

进入项目根目录终端,执行chmod u+x ./bin/* ,为所有快捷脚本设置可执行权限,然后执行./bin/start.sh,静等拉取镜像后自动启动。

常见问题

如果报错:Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use
因为宝塔自带 nginx已占用 80 端口,所以需要更改nginx 容器的端口,我们在根目录下找到 docker-compose.yml 文件,找到80:80改为8787:80
保存之后,执行./bin/start.sh,通过快捷启动脚本启动网站。

若实在不会安装,请联系QQ:3288637559获取技术支持(付费)

我们的QQ交流群:884250547

快捷脚本

花森网站推出快捷操作脚本,仅需执行预设脚本,即可升级、更新、停止、重启、迁移网站,免去繁琐的执行命令!🎉🎉🎉

🚧 注意事项
建议版本:centos 7.x

脚本仅适用于 CentOS 系统,并且需要在已成功部署网站后使用。

🔒 设置权限
一般情况下,bin 目录是没有执行权限,我们可以进入项目根目录,通过chmod u+x ./bin/*,为 bin 目录下所有的可执行文件设置权限。

🎈 脚本说明
脚本基于花森网站架构编写,不存在恶意行为,仅用于提高使用体验。

start.sh
重新读取配置,启动 docker 容器。

stop.sh
停止 docker 容器

update.sh
不拉取代码,重新构建 nginx、server 镜像,然后更新启动 docker 服务。

upgrade.sh
拉取仓库代码,重新构建全部镜像,排除 mongodb 数据、redis 数据、jenkins 程序文件,更新全部文件,合并静态文件夹,升级网站。

install.sh
网站部署脚本,请确保 80、3000、37017、8080、7379、8181 端口无占用服务,执行期间,如果 git、docker、docker-compose 不存在,就会安装,执行时发生报错或阻塞,大概率是因为网络问题,使用 ctrl + c 中断程序,然后重新执行脚本。

recover.sh
网站迁移恢复脚本,在旧服务器上把整个项目压缩下载,然后上传到新服务器上解压,执行recover.sh脚本,即可完成迁移恢复。

upgrade-jenkins-init.sh
脚本用于我们提供 jenkins 在线升级方案,仅提供容器内部使用,非专业,请勿修改!

upgrade-jenkins.sh
配合upgrade-jenkins-init.sh脚本,仅在 jenkins 在线持续集成方案中使用,非专业,请勿修改!

❓ 常见 QA

(1)按照步骤操作,导航、博客、后台管理网站可以直接访问?

是的,项目采取容器化配置,只要一次安装运行成功,即可访问使用,无需其他繁琐配置。

(2)为什么容器运行失败?

运行容器时,请确保 80、37017、7379、8080、3000、8181 端口不被占用,可以通过netstat -anp | grep 端口号检查端口占用情况,如果不幸已经有服务占用端口,则需要修改docker-compose.yml中对应容器的端口后,重新执行运行容器命令。

(3)运行成功,但是还是无法访问到站点?

如果服务已经正常启动,但是无法访问站点,需要检查一下服务器防火墙和安全组配置,是否限制 80 端口的访问,可以使用端口检测工具,进行检测。

(4)用户注册时,为什么邮箱验证码无法发送?

(4-1)部署前配置

由于邮箱验证码功能依赖 nodemailer 库实现,需要部署之前修改/huasenjio-compose/huasen-server/config.js中的QQ_MAIL配置项,更改成自己的申请邮箱地址和 mtp 通行码。

(4-2)部署后配置(推荐)

进入后台管理,点击状态栏的配置图标,修改 mail 选项,设置正确的 host、port、auth 信息。

(5)mongodb 数据库的存储位置?

工程根目录下huasen-mongo/volume文件夹,就是数据库的数据文件夹。

(6)如何删除容器,重新启动容器?

进入 huasenjio-compose 目录,打开终端,通过docker-compose down,停止容器,删除容器。

(7)如何重新构建镜像?

进入 huasenjio-compose 目录,打开终端,通过docker-compose build --no-cache,不使用缓存,重新构建镜像。

(8)如何操作服务器防火墙?

开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
查看防火墙:systemctl status firewalld
查看指定端口:firewall-cmd --query-port=8080/tcp
打开指定端口:firewall-cmd --add-port=8080/tcp --permanent
重载端口数据:firewall-cmd --reload
关闭指定端口:firewall-cmd --permanent --remove-port=8080/tcp
(9)如何配置放开安全组?

因为服务器提供商的应用界面不同,所以省略教程,大家平时使用阿里云、腾讯云、华为云等服务器提供商的服务器,都是可以轻易地百度到安全组的操作教程!

(10)如何升级网站?

(10-1)使用脚本

进入项目根目录,使用 chmod u+x ./bin/* 为脚本设置可执行权限,然后执行 ./bin/upgrade.sh,耐心等待,拉取新代码,升级网站。

(10-2)使用 jenkins

⚠️《📽 视频教程》章节列有视频教程

网站采用 docker-compose 编排容器,一键部署网站的同时,也在 8080 端口安装 jenkins 用于实现 CI/CD ,另外注意 jenkins 会占用大概 20%的内存,如果不使用可以关闭,进入项目根目录,执行 docker-compose stop jenkins,完成停止 jenkins 容器。

(11)如何修改前端界面?

⚠️ 需要 node.js 环境

进入官网的源码路径 /huasenjio-compose/huasen-frontend/portal 的终端,执行 npm install,安装依赖,然后执行 npm run serve 启动项目进行开发,改动代码之后,使用 npm run build 打包代码,构建后的代码输出在 /huasenjio-compose/huasen-server/public/webapp/portal 下,需要拷贝到服务器的对应位置,最后执行 /huasenjio-compose/bin/update.sh 脚本更新网站。

(12)如何修改后台管理界面?

⚠️ 需要 node.js 环境

进入后台管理的源码路径 /huasenjio-compose/huasen-frontend/admin 的终端,执行 npm install,安装依赖,然后执行 npm run serve 启动项目进行开发,改动代码之后,使用 npm run build 打包代码,构建后的代码输出在 /huasenjio-compose/huasen-server/public/webapp/admin 下,需要拷贝到服务器的对应位置,最后执行 /huasenjio-compose/bin/update.sh 脚本更新网站。

(13)如何修改后端服务?

⚠️ 需要 node.js 环境

进入项目根目录 /huasen-compose 项目执行 docker-compose up -d redis mongo 提前开启本地 redis、mongo 服务,然后进入后端服务代码路径 /huasen-compose/huasen-server,执行 npm install,安装依赖,通过 npm run dev 启动后端服务开发,最后拷贝整个/huasen-compose/server 到服务器的对应位置,执行 /huasen-compose/bin/update.sh 脚本更新网站。

(14)如何修改 nginx 的运行端口?

进入项目根目录,打开docker-compose.yml,修改 published 属性,端口号建议选 3000-10000 范围,然后执行 /huasen-compose/bin/update.sh 脚本更新网站。

(15)如何备份迁移网站?

拷贝整个项目文件夹迁移至新服务器,然后执行 /huasen-compose/bin/update.sh 脚本,网站自动完成刷新重启。

(16)显示部署成功之后,我访问网站,老是打开 up 的主页?

遇到重定向到主页的情况,说明网站部署没问题,只是访问的地址不对,根据 http://ip或域名:nginx容器端口/portal 格式检查一下。截止 2023 年 9 月 1 日后台管理已支持动态配置重定向地址,打开系统配置页面,设置重定向链接。

(17)我已经添加网链,为什么官网不显示链接呢?

官网不显示添加网链的原因主要有两种:17.1.网链没有绑定栏目,栏目没有绑定订阅源;17.2.权限不足,网链、栏目、订阅源任意一项权限不满足,就无法显示网链;详细视频教程:https://www.bilibili.com/video/BV1ph411j7gP/,建议花点时间了解其他介绍视频

本文来源于:https://gitee.com/HuaSenJioJio/huasenjio-compose


文章目录


    我爱导航系统(52DH Pro网址导航系统):一款开源免费的网站导航系统源码

    闲鱼自动发货和自动回复管理系统 - 一款开源免费的闲鱼运营工具

    评 论