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

🎼个人主页:【Y小夜】
😎作者简介:一位双非学校的大三学生,编程爱好者,
专注于基础和实战分享,欢迎私信咨询!
🎈热门专栏:🎊【Python,Javaweb,Springboot】
感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

目录
🎈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

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