Linux系统之部署Dailynotes个人笔记管理工具

news2024/12/23 19:13:04

Linux系统之部署Dailynotes个人笔记管理工具

  • 一、Dailynotes介绍
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、检查本地环境
    • 3.1 检查本地操作系统版本
    • 3.2 检查系统内核版本
    • 3.3 检查本地yum仓库状态
  • 四、部署Node.js 环境
    • 4.1 下载Node.js安装包
    • 4.2 解压Node.js安装包
    • 4.3 复制二进制文件
    • 4.4 配置环境变量
    • 4.5 查看node版本
    • 4.6 设置npm镜像源
  • 五、部署python环境
    • 5.1 安装python
    • 5.2 安装环境依赖
    • 5.3 检查python版本
  • 六、部署Dailynotes
    • 6.1 下载Dailynotes源码
    • 6.2 查看Dailynotes源码目录
    • 6.3 安装依赖
    • 6.5 生成环境变量
    • 6.6 启动Dailynotes服务
    • 6.7 查看后台任务
    • 6.8 查看Dailynotes服务监听端口
  • 七、访问Dailynotes
    • 7.1 进入登录页
    • 7.2 注册用户
    • 7.3 访问Dailynotes首页

一、Dailynotes介绍

DailyNotes 用于每天记笔记和跟踪任务的应用程序。本工具使用markdown进行编辑,也可以作为个人任务看板 。

二、本地环境介绍

2.1 本地环境规划

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

hostname本地IP地址操作系统版本内核版本
ecs-274f192.168.0.151centos 7.63.10.0-1160.53.1.el7.x86_

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境;
2.本次使用服务器为华为云ECS弹性云服务器;
3.在centos7.6环境下部署Dailynotes个人笔记管理工具。

三、检查本地环境

3.1 检查本地操作系统版本

检查本地操作系统版本

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

3.2 检查系统内核版本

检查系统内核版本

[root@ecs-274f ~]# uname -r 
3.10.0-1160.53.1.el7.x86_64

3.3 检查本地yum仓库状态

  • 配置阿里云的镜像源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
  • 检查本地yum仓库状态
[root@ecs-274f yum.repos.d]# yum repolist all |grep  enable 
base/7/x86_64         CentOS-7 - Base - mirrors.aliyun.com       enabled: 10,072
extras/7/x86_64       CentOS-7 - Extras - mirrors.aliyun.com     enabled:    515
updates/7/x86_64      CentOS-7 - Updates - mirrors.aliyun.com    enabled:  4,996

四、部署Node.js 环境

4.1 下载Node.js安装包

下载Node.js安装包

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

4.2 解压Node.js安装包

解压Node.js安装包

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

在这里插入图片描述

4.3 复制二进制文件

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

cp -a /root/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
cp -a /root/node-v14.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@jeven ~]# node -v
v14.17.0
[root@jeven ~]# npm -v
6.14.13

4.6 设置npm镜像源

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

五、部署python环境

5.1 安装python

Dailynotes支持python的2和3版本

yum -y install python3

5.2 安装环境依赖

安装环境依赖

yum install gcc gcc-c++ python3-devel pycrypto -y

5.3 检查python版本

检查python版本

[root@ecs-274f ~]# pip -V
pip 21.3.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
[root@ecs-274f ~]# python3 -V
Python 3.6.8

六、部署Dailynotes

6.1 下载Dailynotes源码

下载Dailynotes源码

 git clone https://github.com/m0ngr31/DailyNotes.git

6.2 查看Dailynotes源码目录

查看Dailynotes源码目录

[root@ecs-274f ~]# tree -L 3 DailyNotes/
DailyNotes/
├── app
│   ├── __init__.py
│   ├── models.py
│   ├── model_types.py
│   └── routes.py
├── client
│   ├── jest.config.js
│   ├── package.json
│   ├── package-lock.json
│   ├── public
│   │   ├── apple-touch-icon-114x114.png
│   │   ├── apple-touch-icon-120x120.png
│   │   ├── apple-touch-icon-144x144.png
│   │   ├── apple-touch-icon-152x152.png
│   │   ├── apple-touch-icon-57x57.png
│   │   ├── apple-touch-icon-60x60.png
│   │   ├── apple-touch-icon-72x72.png
│   │   ├── apple-touch-icon-76x76.png
│   │   ├── favicon-128.png
│   │   ├── favicon-16x16.png
│   │   ├── favicon-196x196.png
│   │   ├── favicon-32x32.png
│   │   ├── favicon-96x96.png
│   │   ├── favicon.ico
│   │   ├── index.html
│   │   ├── mstile-144x144.png
│   │   ├── mstile-150x150.png
│   │   ├── mstile-310x150.png
│   │   ├── mstile-310x310.png
│   │   └── mstile-70x70.png
│   ├── src
│   │   ├── App.vue
│   │   ├── components
│   │   ├── interfaces.ts
│   │   ├── main.ts
│   │   ├── router
│   │   ├── services
│   │   ├── shims-tsx.d.ts
│   │   ├── shims-vue.d.ts
│   │   └── views
│   ├── tests
│   │   └── unit
│   ├── tsconfig.json
│   └── vue.config.js
├── config.py
├── docker-compose.yml
├── Dockerfile
├── LICENSE
├── migrations
│   ├── alembic.ini
│   ├── env.py
│   ├── README
│   ├── script.py.mako
│   └── versions
│       ├── 7bd1ee1840ca_meta_table.py
│       ├── 9bd71ed6ccff_remove_unique_constraint_name_.py
│       ├── 9ca5901af374_cleanup.py
│       ├── a477f34dbaa4_initial_config.py
│       ├── ad68860179f2_added_auto_save_column_to_user_table.py
│       └── c440f31aff28_add_unique_constraint_name_for_note_.py
├── README.md
├── requirements.txt
├── run.sh
├── server.py
├── verify_data_migrations.py
└── verify_env.py

12 directories, 54 files


6.3 安装依赖

安装依赖

pip install -r requirements.txt

在这里插入图片描述

cd client  && npm ci

在这里插入图片描述

6.5 生成环境变量

生成环境变量

./verify_env.py

在这里插入图片描述

6.6 启动Dailynotes服务

  • 启动服务端
./run.sh &
  • 启动客户端
cd client
npm run server &

在这里插入图片描述

6.7 查看后台任务

查看后台任务

[root@ecs-274f client]# jobs
[1]-  Running                 ./run.sh &  (wd: ~/DailyNotes)
[2]+  Running                 npm run serve &

6.8 查看Dailynotes服务监听端口

查看Dailynotes服务监听端口8080

[root@ecs-274f client]# ss -tunlp |grep 80
tcp    LISTEN     0      511       *:8080                  *:*                   users:(("node",pid=4166,fd=23))

七、访问Dailynotes

7.1 进入登录页

访问地址:http://190.92.219.20:8080/,将ip替换为自己服务器的IP地址,
在云服务器中,在安全组中放行8080端口。

在这里插入图片描述

7.2 注册用户

选择注册用户,自定义设置即可。

在这里插入图片描述

在这里插入图片描述

7.3 访问Dailynotes首页

注册完用户后,自动登录到Dailynotes首页。

在这里插入图片描述

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

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

相关文章

ThreadPoolExecutor的应用

前面描述的线程池的创建方式大都是Executors类中创建出来,基于ThreadPoolExecutor去new出来实现的。 我们为什么要自定义线程池 在线程池ThreadPoolExecutor中提供了7个参数,都作为非常核心的属性,在线程池去执行任务的时候,每个…

Nginx-Goaccess(实时日志服务)

goaccess的功能 1、使用webscoket协议传输(双向传输协议)2、基于终端的快速日志分析器3、通过access.log快速分析和查看web服务的统计信息、PV、UV4、安装简单、操作简易、界面炫酷5、按照日志统计访问次数、独立访客数量、累计消耗的带宽6、统计请求次…

物理引擎--Open Dynamics Engine(ODE)

物理引擎--Open Dynamics Engine--ODE 1 介绍1.1 概述1.2 代码1.3 wiki1.4 特征1.5 许可 2 安装使用3 概念3.1 背景3.2 刚体3.2.1 岛屿和禁用实体 3.3 一体化3.4 积分器3.5 关节和约束3.6 关节组3.7 关节误差和误差减少参数 (ERP) Joint error and the Error Reduction Paramet…

Scala函数式编程【从基础到高级】

目录 函数基础 基本语法 函数参数 函数至简原则 至简原则细节 函数高级 高阶函数 函数的3种高阶用法: 1、函数作为值传递 2、函数作为参数传递 匿名函数作参数传递 3、函数作为返回值传递 匿名函数的至简规则 高阶函数的应用 案例-将数组中的元素全部…

【LeetCode】 动态规划 刷题训练(三)

文章目录 931. 下降路径最小和题目解析状态转移方程完整代码 64. 最小路径和题目解析状态转移方程完整代码 174. 地下城游戏题目解析状态转移方程完整代码 931. 下降路径最小和 点击查看:下降路径最小和 给你一个 n x n 的 方形 整数数组 matrix ,请你找…

chatgpt赋能python:Python搜题软件:为你量身定制的智能搜索助手

Python搜题软件:为你量身定制的智能搜索助手 随着互联网的普及,我们每天需要面对海量的信息,其中包含了我们所需要的一切答案。但是,如何快速而准确地找到这些答案呢?这时候,一款智能化的搜题软件就非常有…

【不推荐】win 安装 rust 1.70 (MSVC)

目录 一、下载二、安装三、配置环境变量四、检查是否安装成功五、参考文章 一、下载 官网地址:https://www.rust-lang.org/zh-CN/ https://forge.rust-lang.org/infra/other-installation-methods.html 历史版本下载地址: 二、安装 注意:安…

Redis:redis基于各大实战场景下的基本使用

文章目录 前言String 命令实战1.业务缓存对应redis中的指令伪代码 2.分布式锁对应redis中的指令伪代码 3.限流对应redis中的指令伪代码 List 命令实战1.提醒功能对应Redis中的指令伪代码 2.热点列表对应Redis中的指令伪代码 Hash 命令实战1.用户资料缓存对应redis中的指令伪代码…

RabbitMQ学习笔记(尚硅谷)

文章目录 一. 消息队列1. 定义2. 作用2.1 流量消峰2.2 应用解耦2.3 异步处理 3. 分类4. MQ的选择5. RabbitMQ5.1 概念5.2 四大概念5.3 六大模式5.4 RabbitMQ 工作原理5.5 安装 6. 代码实现 二. Hello World (简单模式)1. 生产者代码2. 消费者代码 三. Work Queues (工作队列模式…

OUC编译原理实验报告 实验5:用Yacc设计语法分析器1 实验6:用Yacc设计语法分析器2

编译原理实验报告 实验5:用Yacc设计语法分析器1 实验6:用Yacc设计语法分析器2 中国海洋大学编译原理实验2023春 仅供同学参考思路 请勿直接抄袭 否则可能喜提0分 目录 文章目录 编译原理实验报告目录一.实验目的二.实验内容实验5实验6 三.实验要求实…

RISCV Reader笔记_2 RV32I

RV32I 完整的RV32I指令集可以用下面的式子中出现单词的首字母表示: 比如这一条: set less than {immediate} {unsigned} 也就是slt slti sltu sltiu这4个指令。 RISCV指令格式如下。R 寄存器操作,I 立即数或load访存,S store访…

C51单片机期末复习第八章单片机接口技术

一 总线: 传送同类信息的连线 三总线: 地址总线AB,数据总线DB,控制总线CB 目录(ppt给的没啥用,乱还不全): 8.1 单片机的系统总线 8.2 简单并行I/O口扩展 8.3 可编程并行I/O口扩展 8.4 D/A转换与DAC0832应用 8…

稀疏表:最大公约数

问题描述 给定一个数组, 每次操作可以选择数组中任意两个相邻的元素 x , y x, y x,y 并将其 中的一个元素替换为 gcd ⁡ ( x , y ) \operatorname{gcd}(x, y) gcd(x,y), 其中 gcd ⁡ ( x , y ) \operatorname{gcd}(x, y) gcd(x,y) 表示 x x x 和 y y y 的最大公约数。 请…

MIT 6.S081 教材第五章内容 -- 中断与设备驱动--下

MIT 6.S081 教材第五章内容 -- 中断与设备驱动--下 引言关于RISC-V特权级架构说明RISC-V特权模式OpenSBI介绍RISC-V启动过程RISC-V中的异常M模式下的异常1. 硬件中断的处理(以时钟中断为例)2. M模式下的异常相关寄存器3. 同步异常的处理 S模式下的异常1.…

chatgpt赋能python:Python散点图介绍:如何用Python绘制散点图?

Python散点图介绍:如何用Python绘制散点图? Python是一门流行的编程语言,用于解决各种问题和编写各种应用程序。其中,数据可视化是Python应用程序中非常重要的组成部分。散点图是最常用的数据可视化图形之一,它能够清…

拓扑排序:神经网络

题目链接 神经网络 题目大意 在兰兰的模型中,神经网络就是一张有向图,图中的节点称为神经元,而且两个神经 元之间至多有一条边相连,下图是一个神经元的例子: 图中, X 1 — X 3 X_1—X_3 X1​—X3​是信…

从类加载到双亲委派:深入解析类加载机制与 ClassLoader

目录 前言Class 文件介绍如何生成 class 文件观察 Bytecode 方法class 文件到底是什么样的呢? Class 加载、链接、初始化加载、类加载器双亲委派Launcher 核心类ClassLoader 相关源码ClassLoader 相关问题自定义简单 ClassLoader自定义加密 ClassLoader打破双亲委派…

动态ip与静态ip的概念、区别、应用场景

动态ip与静态ip的区别 前言一、介绍IP地址的概念和作用1.1、IP地址的定义1.2、IP地址的作用 二、动态IP和静态IP的区别2.1、动态IP和静态IP的定义2.2、动态IP和静态IP的特点2.3、动态IP和静态IP的优缺点比较 三、动态IP和静态IP的应用场景3.1. 动态IP的应用场景3.2. 静态IP的应…

利用numpy解决解方程组的基本问题

1 问题 进入大学,我们接触了线性代数,利用线性代数解方程组比高中慢慢计算会好了许多,快捷许多,我们作为编程人员,有没有用python解决解方程组的办法呢? 2 方法 我们提出使用python的numpy解方程。 找到用于…

11- C程序的组成结构 (C语言)

一、C程序的基本组成结构 1、源文件: 后缀为.c 的文件2、头文件:后缀为.h的文件 注意: 源文件 功能:实现程序功能头文件 功能:函数的声明、全局变量的声明、宏定义、类型的声明一个由C语言所组成的项目中 只允许有一个main函数 …