Linux系统之部署Tale个人博客系统

news2024/11/17 0:02:20

Linux系统之部署Tale个人博客系统

  • 一、Tale介绍
    • 1.1 Tale简介
    • 1.2 Tale特点
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、检查本地环境
    • 3.1 检查本地操作系统版本
    • 3.2 检查系统内核版本
    • 3.3 检查java版本
  • 四、部署Tale个人博客系统
    • 4.1 下载Tale源码
    • 4.2 查看Tale源码目录
    • 4.3 查看安装脚本内容
    • 4.4 执行安装脚本
    • 4.5 启动Tale服务
    • 4.6 查看Tale服务状态
    • 4.7 查看Tale监听端口
  • 五、安全设置
    • 5.1 防火墙设置
    • 5.2 selinux设置
  • 六、Tale的初始化配置
    • 6.1 网站设置
    • 6.2 初始化安装完成
  • 七、访问Tale个人博客系统
    • 7.1 登录Tale后台管理
    • 7.2 发布博客
    • 7.3 查看前台博客效果
  • 八、总结

一、Tale介绍

1.1 Tale简介

Tale是一款简洁美观的Java博客系统,让每一个有故事的人更好的表达想法!Tale 使用了轻量级 mvc 框架 Blade 开发,默认主题使用了漂亮的 pinghsu。

1.2 Tale特点

  • 设计简洁,界面美观
  • Markdown 文章发布
  • 自定义文章链接
  • 支持多主题
  • 支持插件扩展
  • 支持 Emoji 表情
  • 支持网易云音乐播放
  • 支持附件和数据库备份
  • 部署简单,不依赖 Tomcat
  • 无需数据库,内嵌 Sqlite

二、本地环境介绍

2.1 本地环境规划

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

hostname本地P地址操作系统版本内核版本java版本
jeven192.168.3.166centos 7.63.10.0-957.el7.x86_64openjdk version “1.8.0_181”

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在centos7.6环境下Tale个人博客系统。

三、检查本地环境

3.1 检查本地操作系统版本

检查本地操作系统版本,当前操作系统版本为centos 7.9。

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

3.2 检查系统内核版本

检查系统内核版本

[root@jeven ~]#  uname -r
3.10.0-957.el7.x86_64

3.3 检查java版本

部署Tale前需要安装java开发环境,本次环境中经提前安装好java环境。

[root@jeven ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

四、部署Tale个人博客系统

4.1 下载Tale源码

执行以下命令,下载下载Tale源码。

git clone  https://github.com/otale/tale.git

在这里插入图片描述

4.2 查看Tale源码目录

查看Tale源码目录

[root@jeven ~]# tree -L 3 ./tale/
./tale/
├── bin
│   └── tool
├── install.sh
├── LICENSE
├── package.xml
├── pom.xml
├── README.md
├── README_ZH.md
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        ├── java
        └── resources

8 directories, 7 files

4.3 查看安装脚本内容

查看install.sh安装脚本内容

[root@jeven tale]# cat install.sh
#!/bin/sh

APP_NAME="tale"
get_latest_release() {
  curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
    grep '"tag_name":' |                                            # Get tag line
    sed -E 's/.*"([^"]+)".*/\1/'                                    # Pluck JSON value
}

TAG_VERSION=$(get_latest_release "otale/tale")

wget -N --no-check-certificate https://github.com/otale/tale/releases/download/$TAG_VERSION/tale.tar.gz

echo '下载完毕'

mkdir $APP_NAME
tar -zxvf $APP_NAME.tar.gz -C $APP_NAME && cd $APP_NAME
chmod +x tool

echo '安装成功,请进入 tale 目录执行 sh tool start 启动'[root@jeven tale]#

4.4 执行安装脚本

执行install.sh文件

sh install.sh

在这里插入图片描述

4.5 启动Tale服务

进入tale目录

[root@jeven tale]# cd tale/
[root@jeven tale]# ls
lib  resources  tale-latest.jar  tool

启动tale服务

[root@jeven tale]# ./tool start
Starting tale ...
(pid=11038) [OK]

4.6 查看Tale服务状态

查看tool命令帮助信息

[root@jeven tale]# ./tool --help
Usage: ./tool {start | stop | restart | status | upgrade | log}

查看tale服务状态

[root@jeven tale]# ./tool status
tale is running! (pid=11038)

4.7 查看Tale监听端口

查看tale监听端口,发现已正常监听9000端口。

[root@jeven tale]# ss -tunlp |grep 11038
tcp    LISTEN     0      128      :::9000                 :::*                   users:(("java",pid=11038,fd=55))

五、安全设置

5.1 防火墙设置

关闭防火墙,如果启动防火墙需要放行9000端口。

 systemctl stop firewalld  && systemctl disable firewalld

如果需要开启防火墙,则执行以下命令放行9000端口。

firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload

5.2 selinux设置

关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

六、Tale的初始化配置

6.1 网站设置

访问地址:http://192.168.3.166:9000/,将IP更换为自己服务器IP地址。填写网站信息,自定义填写即可。

注意:这里有一个小坑,打开初始化页面时,会没有下一步按钮,需要强制 ctrl+f5强制多刷新几遍,才会出现以下页面。

在这里插入图片描述

6.2 初始化安装完成

设置好网站信息后,点击“下一步”,初始化成功完成。
在这里插入图片描述

七、访问Tale个人博客系统

7.1 登录Tale后台管理

访问地址:http://192.168.3.166:9000/admin/login,将IP替换为自己服务器IP地址,输入刚设置的管理员账号和密码,进入Tale后台管理。

在这里插入图片描述

在这里插入图片描述

7.2 发布博客

点击发布文章,填写文章标题和编辑文章内容,发表即可。

在这里插入图片描述

7.3 查看前台博客效果

访问tale博客前台,查看博客文章效果。

在这里插入图片描述
在这里插入图片描述

八、总结

Tale个人博客系统是一款开源的Java博客系统,具有简单易用、功能齐全、易于扩展等特点。Tale部署简单,操作易上手,Tale的文章管理功能非常方便,用户可以轻松地创建、编辑、删除文章。支持Markdown语法,可以方便地进行文章排版和格式化。Tale的评论管理功能也很不错,支持用户对博客文章进行评论和回复。管理员可以审核评论并进行删除等操作。相比较其余成熟及热门的博客系统来说,Tale适合个人日常使用,简单方便。

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

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

相关文章

干货 | 深度多元时序模型在携程关键指标预测场景下的探索应用

作者简介 doublering,携程高级算法工程师,关注自然语言处理、LLMs、时序预测等领域。 一、背景 互联网行业中,有许多关键指标直接影响公司未来的规划与决策,比如流量、订单量、销售额等。有效地预测这些关键指标能够辅助公司提前做…

C++类模板再学习

之前已经学习了C类模板;类模板的写法和一般类的写法有很大的差别;不容易熟悉;下面再做一遍; 做一个椭圆类,成员有长轴长度和短轴长度; // ellipse.h: interface for the ellipse class. // //#if !define…

Android开发知识

文章目录 HTTPHTTP到底是什么HTTP的工作方式URL ->HTTP报文List itemHTTP的工作方式请求报文格式:Request响应报文格式:ResponseHTTP的请求方法状态码HeaderHostContent-TypeContent-LengthTransfer: chunked (分块传输编码 ChunkedTransfer Encoding…

双向链表的初始化、插入、删除

双向链表的初始化 双向链表的插入 双向链表的删除 我们可以看看这一题循环双向链表的题目 王道p40 17.设计一个算法用于判断带头结点的循环双链表是否对称(c语言代码实现)_认真敲代码的小火龙的博客-CSDN博客https://blog.csdn.net/m0_46702681/article…

Shiro整合EhCache

缓存工具EhCache EhCache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。可以和大部分Java项目无缝整合,例如:Hibernate中的缓存就是基于EhCache实现的。EhCache支持内存和磁盘存储,默认存储在内存中&#xff…

netcore webapi action 同时支持 get 和 post 请求

最近在项目开发过程中,有个别接口需要同时支持GET和POST请求,经过一番测试,貌似NetCore只能接收指定的FromBody、FromQuery等参数,经过一番查找后发现文章:为ASP.NET Core实现一个自适应ModelBinder,让Acti…

HackTheBox-Starting Point--Tier 1---Sequel

文章目录 一 题目二 实验过程 一 题目 Tags Vulnerability Assessment、Databases、MySQL、SQL、Reconnaissance、Weak Credentials译文:漏洞评估、数据库、MYSQL、SQL、侦察、凭证薄弱Connect To attack the target machine, you must be on the same network.C…

QT 中 Graphics View 程序例子-Diagram Scene Example

一、 概况 本例演示如何使用图形视图框架。 “图表场景”示例是一个应用程序,您可以在其中创建流程图。可以添加流程图形状和文本,并通过箭头连接形状,如上图所示。形状、箭头和文本可以赋予不同的颜色,并且可以更改文本的字体、…

HackTheBox-Starting Point--Tier 1---Crocodile

文章目录 一 题目二 实验过程 一 题目 Tags Web、Network、Custom Applications、Protocols、Apache、FTP、Reconnaissance、Web Site Structure Discovery、Clear Text Credentials、Anonymous/Guest Access译文:Web、网络、定制应用程序、协议、Apache、FTP、侦…

C++项目——云备份-③-实用工具类设计与实现

文章目录 专栏导读1.文件实用工具类的设计2.文件实用工具类的实现2.1前置知识补充2.1.1struct stat 与 stat介绍2.1.2std::experimental::filesystem认识 2.2FileUtil实现 3.JSON实用工具类的设计4.JSON实用工具类的实现5.实用工具类整理 专栏导读 🌸作者简介&#…

ESP32智能小车+PS2无线遥控器+麦克纳姆轮+microPython

from machine import Pin,PWM from ps2 import PS2Controller import time import os# ############################################# # PS2 遥控器 # ############################################# ps2ctl PS2Controller(di_pin_no26, do_pin_no27, cs_pin_no14, clk_pin…

Unity中Shader的模型网格阴影

文章目录 前言一、网格阴影原理1、在世界空间下,把角色模型在Y轴上压缩成一个面片,把颜色修改成像影子的颜色2、把压缩后的面片,移动到合适的位置,把模型和阴影面片错开3、实现距离脚近的阴影偏移少,距离脚远的阴影偏移…

【已解决】AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘

问题 使用cv2.bgsegm.createBackgroundSubtractorMOG()去除背景的时候,遇到如下问题: AttributeError: module cv2 has no attribute bgsegm原因 报错原因:使用的python环境中没有安装扩展包contrib 解决方法 可以通过pip或者conda安装 …

QT中文乱码解决方案与乱码的原因

相信大家应该都遇到过中文乱码的问题,有时候改一改中文就不乱码了,但是有时候用同样的方式还是乱码,那么这个乱码到底是什么原因,又该如何彻底解决呢? 总结 先总结一下: Qt5中,将QString()的构…

Java实现Csv文件导入导出

Java实现Csv文件导入导出 什么是.csv文件? CSV(Comma-Separated Values,逗号分隔的值)是一种简单、实用的文件格式,用于存储和表示包括文本、数值等各种类型的数据。CSV 文件通常以 .csv 作为文件扩展名。这种文件格…

基于蜣螂优化算法DBO优化的VMD-KELM光伏发电短期功率预测MATLAB代码

微❤关注“电气仔推送”获得资料(专享优惠) VMD适用于处理非线性和非平稳信号,例如振动信号、生物信号、地震信号、图像信号等。它在信号处理、振动分析、图像处理等领域有广泛的应用,特别是在提取信号中的隐含信息和去除噪声方面…

字符串中的strcpy和strncpy区别

strcpy:函数原型是char *strcpy(char* dest, const char *src),含义是将src中的字符串复制到dest中。 strncpy:函数原型是char *strncpy(char *dest const char *src,int n),表示把src所指向的字符串中以src地址开始的前n个字节复制到dest所…

香港施政报告人才引进政策2023全面解读,对优才计划申请是否有影响?

香港施政报告人才引进政策2023全面解读,对优才计划申请是否有影响? 香港第二份施政报告10月25日出来了!这次真的是“走进民生”啊,什么路都帮你想好了! 总结就是:继续抢人才、留人才!在昨天的《…

103.linux5.15.198 编译 firefly-rk3399(2)

1. 平台: rk3399 firefly 2g16g 2. 内核:linux5.15.136 (从内核镜像网站下载) 3. 交叉编译工具 gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 4. 宿主机:ubuntu18.04 5. 需要的素材和资料&#xff…

MySQL 单表查询 多表设计

目录 数据库操作-DQL(单表查询)语法基本查询(不带任何条件)条件查询(where)聚合函数分组查询(group by [having])(重点)排序查询(order by)(重点&…