【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linux,教你安装Java常用软件、及spring boot项目部署

【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linux,教你安装Java常用软件、及spring boot项目部署

🎼个人主页:【Y小夜】

😎作者简介:一位双非学校的大三学生,编程爱好者,

专注于基础和实战分享,欢迎私信咨询!

🎆入门专栏:🎇【MySQLJava基础Rust

🎈热门专栏:🎊【PythonJavawebSpringboot】 

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

目录

🎈Linux安装

🎁安装步骤

🎁网卡设置

🎁目录功能及介绍

 🎈常用命令

🎁初体验

🎟命令

 🎟实战

🎟出现乱码

🎟小技巧

🎟Linux命令格式

🎁文件目录操作命令

🎟ls

🎟cd

🎟cat

🎟more

🎟tail

🎟rmdir

🎟rm

🎁拷贝移动命令

🎟cp

🎟mv

🎁打包压缩命令

🎟tar

🎁文本编辑

🎟vi/vim

🎗命令模式

🎗插入模式

🎗底行模式

🎁查找命令

🎟find

🎟grep

🎈软件安装

🎁安装方式

🎁安装jdk

🎁安装Tomcat

🎟验证是否启动成功

🎟防火墙操作

🎟关闭tomcat

🎁安装MySQL

🎟查看并卸载旧版本

🎟开始安装

🎟yum一直尝试其他镜像

🎟启动MySQL

🎟登录Mysql

🎁安装lrzsz

🎈项目部署

 🎁手动部署

🎟部署启动

🎟将程序改为后台运行​

​🎟关闭程序

 🎁Shell脚本自动部署项目

🎟基本步骤

🎟安装git

🎟进行克隆

🎟安装Maven

🎟设置maven的本地仓库

🎟创建一个脚本,将脚本内容复制到其中

🎟为用户授权

🎟执行脚本

🎟配置静态ip


🎈Linux安装

🎁安装步骤

详细内容可参考我写的这篇文章:【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)_linux安装的步骤以及遇到的问题-ZEEKLOG博客

🎁网卡设置

由于启动服时未加载网卡,导致IP地址初始化失败(可以输入ip addr命令尝试)

修改网络初始化配置,设定网卡在启动时初始化:a

进入文件之中,将此处修改为yes

然后进行重启就可以

🎁目录功能及介绍

 🎈常用命令

🎁初体验

🎟命令

 🎟实战

🎟出现乱码

如果出现这个中乱码情况,这是编码问题导致的

执行以下两条命令

🎟小技巧

🎟Linux命令格式

🎁文件目录操作命令

🎟ls

🎟cd

🎟cat

🎟more

🎟tail

默认显示最后10行的内容

如果要显示最后n行,可以使用tail -n

🎟rmdir

🎟rm

提醒:千万不要尝试执行rm -rf /*,这个命令会将你的Linux中全部文件都删除

🎁拷贝移动命令

🎟cp

🎟mv

🎁打包压缩命令

🎟tar

🎁文本编辑

🎟vi/vim

🎗命令模式
🎗插入模式
🎗底行模式

🎁查找命令

🎟find

🎟grep

🎈软件安装

🎁安装方式

🎁安装jdk

上传文件,将下载好的压缩包文件上传至Linux中

将安装包解压到 /usr/local 目录下

 tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local 

配置环境变量,使用vim 修改 /ect/profile 文件,在文件末尾加入如下配置

(输入大写G可以快速到达末尾)

JAVA_HOME=/usr/local/jdk1.8.0_171 PATH=$JAVA_HOME/bin:$PATH 

重新加载profile文件,是更改的配置立刻生效

source /etc/profile 

检查安装是否成功

java -version 

🎁安装Tomcat

上传文件,将下载好的压缩包文件上传至Linux中

将安装包解压到 /usr/local 目录下

 tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local/ 

进入Tomcat的bin目录启动服务

sh startup.sh或者./startup.sh

🎟验证是否启动成功

结果如图所示:

🎟防火墙操作

当防火墙开启时,外部windows系统访问tomca服务器,则无法访问

查看防火墙状态,此时为开始状态

使用 systemctl stop firewalld 命令使得防火墙暂时关闭

然后再次查看状态

firewall-cmd --state 

 

再次用外部windows系统访问tomca服务器,则访问成功

但为了系统安全,我们通常都是开放指定端口号 

firewall-cmd --zone=public --add-port=8080/tcp --permanent 

 

这里顺便可以将MySQL的3306端口也开放

firewall-cmd --zone=public --add-port=3306/tcp --permanent 

使用命令,使其生效 

firewall-cmd --reload 

查看开放的端口

firewall-cmd --zone=public --list-ports 

 

🎟关闭tomcat

非特殊情况,不建议使用kill

🎁安装MySQL

🎟查看并卸载旧版本

查看当前Linux中是否有mysql或者时mariadb(系统自带)

rpm -qa|grep mysql rpm -qa|grep mariadb 

这个结果表明,当前不存在mysql,但存在mariadb,我们需要进行卸载

 rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 

🎟开始安装

进行上传

创建一个目录

mkdir /usr/local/mysql 

将压缩包移动过去 

 mv mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz /usr/local/mysql/

将压缩包解压到该目录中

 tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz 

这里的.rpm文件相当于windows中的.exe文件,所以我们需要按顺序安装

🎟yum一直尝试其他镜像

可以先检查一下网络是否可以ping通,如果不能ping通,可以看我上一篇linux文章

若能ping通,那我们就要更换镜像

先去阿里云上面看一下自己的教程

centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站

下面我以centos7举例子

先备份原yum配置文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 

下载了阿里云提供的CentOS 7的Yum源配置文件,并将其覆盖到系统中 

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

清除旧缓存 

sudo yum clean all 

生成新缓存 

sudo yum makecache ## 生成缓存

 查看是否有效

yum repolist 

🎟启动MySQL

查看MySQL是否启动

systemctl status mysqld 

开启MySQL,查看状态

 systemctl start mysqld 

设置开机自动开启MySQL服务

systemctl enable mysqld 

使用命令查看已经启动的服务(这个命令只有安装net-tools后才可以使用)

netstat -tunlp 

🎟登录Mysql

第一次登录先查看临时密码

cat /var/log/mysqld.log|grep password 

开始登录

mysql -uroot -p 

然后输出初始密码,就可以登录进来了

 

然后修改MySQL密码:

设置密码最低位数

set global validate_password_length=4; 

 设置安全等级

set global validate_password_policy=LOW; 

设置密码(这里我设为root)

set password=password('root'); 

 开启访问权限,从外部也可以访问mysql

grant all on *.* to 'root'@'%' identified by 'root';

刷新权限

flush privileges;

然后可以退出,使用新密码进行登录

🎁安装lrzsz

安装完成输入rz命令可以上传压缩包以及文件等,如果远程连接工具上有,则无需安装

进行搜索lrzsz (这里我已经安装好了)

yum list lrzsz 

 

若要安装则执行

yum install lrzsz.x86_64 

🎈项目部署

 🎁手动部署

🎟部署启动

拿到一个Java项目,注意要先在属性中配置,在属性里加跳过测试:<properties><skipTests>true</skipTests></properties>

将其打成一个包

找到这个jar包

在Linux中建立一个目录

mkdir /usr/local/app 

上传文件之后,将文件移动到创建目录下

mv springcache-demo-1.0-SNAPSHOT.jar /usr/local/app 

启动该程序

java -jar springcache-demo-1.0-SNAPSHOT.jar 

🎟将程序改为后台运行

将项目于进行在后台运行,并将日志文件输出在test1.log中

nohup java -jar springcache-demo-1.0-SNAPSHOT.jar &> test1.log & 

然后可以自己去访问一下端口 

使用more test1.log 查看日志文件

🎟关闭程序

查看进程

ps -ef|grep java 

杀死进程

kill -9 124664 

 再次查询

 🎁Shell脚本自动部署项目

🎟基本步骤

🎟安装git

🎟进行克隆

克隆完毕

🎟安装Maven

解压后,进行环境变量的配置

vim /etc/profile 
export MAVEN_HOME=/usr/local/apache-maven-3.5.4 PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH 

重新加载文件 

source /etc/profile 

 查看版本

mvn -version 

🎟设置maven的本地仓库

创建文件夹

mkdir repo 

 进入maven中

cd apache-maven-3.5.4/ 

然后进入conf中

进入settings中,加入

a

<localRepository>/usr/local/repo</localRepository>

🎟创建一个脚本,将脚本内容复制到其中

注意脚本中的jar包名称,要与pom.xml中的相同

#!/bin/sh echo ================================= echo 自动化部署脚本启动 echo ================================= echo 停止原来运行中的工程 APP_NAME=reggie tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Stop Process...' kill -15 $tpid fi sleep 2 tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Kill Process!' kill -9 $tpid else echo 'Stop Success!' fi echo 准备从Git仓库拉取最新代码 cd /usr/local/reggie echo 开始从Git仓库拉取最新代码 git pull echo 代码拉取完成 echo 开始打包 output=`mvn clean package -Dmaven.test.skip=true` cd target echo 启动项目 nohup java -jar reggie.jar &> reggie.log & echo 项目启动完成 

🎟为用户授权

将所有的权限都给它

🎟执行脚本

启动脚本(可能第一次比较慢,因为maven仓库中没东西)

没有target去把原项目中的gitignore里面的/target给删了,在上传一次就行

查看日志,如果报下面错误的

将pom文件这个改为false,上传gitee,重新拉取

再次运行.sh文件,部署成功

🎟配置静态ip

这个我没有实操,没设置,如果有具体问题的话,可以在评论区讨论

Read more

实战:分布式开源监控Zabbix

实战:分布式开源监控Zabbix

Zabbix作为一个分布式开源监控软件,在传统的监控领域有着先天的优势,具备灵活的数据采集、自定义的告警策略、丰富的图表展示以及高可用性和扩展性。本文简要介绍Zabbix的特性、整体架构和工作流程,以及安装部署的过程,并结合实战进行监控配置。 1、Zabbix介绍 Zabbix是一个企业级的分布式开源监控方案,能够监控各种网络参数以及服务器健康性和完整性。它由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。Zabbix基于Web页面,提供分布式系统监控及网络监控功能,提供多种监控方式,支持在复杂系统架构下的全栈监控。 1.1 Zabbix特性 1)监控数据采集的灵活性 Zabbix支持多种数据采集方式,包括自动发现、agent、snmp、JMX、telnet采集方式和主动、被动模式下的数据传输。同时,它还支持用户自定义插件和自定义间隔数据收集。 * 采集数据源的广泛性:从基础设施、数据库、应用程序、传感器等终端采集数据 * 数据采集的灵活性:数据采集的间隔、策略,采集数据的类型包括文本、二进制以及结构化JSON、CSV等数据格式 *

By Ne0inhk

2025 嵌入式 AI IDE 全面对比:Trae、Copilot、Windsurf、Cursor 谁最值得个人开发者入手?

文章目录 * 2025 嵌入式 AI IDE 全面对比:Trae、Copilot、Windsurf、Cursor 谁最值得个人开发者入手? * 一、先给结论(个人开发者视角) * 二、2025 年 9 月最新价格与免费额度 * 三、横向体验对比(2025-11) * 1. 模型与响应 * 2. 项目理解力 * 3. 隐私与离线能力 * 四、怎么选?一句话总结 * 五、官方链接(清晰明了) * 六、结语:AI IDE 2025 的趋势 * 七、AI IDE 的底层工作原理:编辑器为什么突然变聪明了? * 1. 解析层:把你的项目拆得比你自己还清楚 * 2. 索引层:

By Ne0inhk

开源IM项目OpenIM部署流程

一、OpenIM 是什么? OpenIM,全称一般叫 OpenIM SDK / OpenIM Server,是一个开源的即时通讯(IM)整体解决方案。它的定位不是一个简单聊天框,而是一个: 💬 可用于商业系统的 IM 基础能力底座 GitHub 地址:  https://github.com/OpenIMSDKhttp://OpenIMSDK 二、核心能力 它支持: * 单聊 * 群聊 * 好友系统 * 会话列表 * 离线消息 * 多端同步 * 消息撤回 * 已读回执 * 语音/图片/文件 * WebRTC 音视频(可扩展) 三、优点 1. 代码全部开源,永久免费 2. 支持高并发 3. 社区活跃

By Ne0inhk

tmux_for_windows windows上面安装 git bash 2026年 正是专门为了解决“SSH 掉线后还能继续原来的会话”这个问题而设计的工具

tmux_for_windows tmux是一个开源工具,用于在一个终端窗口中运行多个终端会话。本工具从msys2里提取,可以在Git for Windows的Git Bash (MingW64)下正常使用。 蘭雅sRGB 龙芯小本服务器 | https://262235.xyz ##tmux(以及 screen)正是专门为了解决“SSH 掉线后还能继续原来的会话”这个问题而设计的工具。 简单来说: 工具SSH 掉线后还能连上原来的会话吗?说明普通 bash / zsh不能会话结束,进程收到 SIGHUP 信号,通常被杀死tmux能会话独立于 SSH 连接存在,掉线后可以随时重新 attachscreen能和 tmux 功能几乎一样,但 tmux 现在更流行、功能更强zellij能更现代的替代品,但普及度不如 tmux tmux 的典型用法(SSH 掉线后重连)

By Ne0inhk