Linux
图片上出到博客不好弄若要完成文档,留言联系
1 ssh连接
ssh用于远程连接服务器
网卡设置
cd /
cd etc
cd sysconfig
cd network-scripts
vi ifcfg-ens33
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6UeOtfem-1692182016058)(…/md文件制作所需图片/Snipaste_2023-08-10_21-53-39.png)]
设置好之后重启虚拟机,就可以查看ip地址了
2Linux 特点
一切从根目录开始
/ 是所有目录的顶点
目录结构像个倒挂的树
3 Linux常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
1 | ls | list | 查看当前目录下的内容 |
2 | pwd | print work directory | 查看当前所在目录 |
3 | cd[目录名] | change directory | 切换目录,\为根目录 |
4 | touch[文件名] | touch | 如果文件不存在,新增文件 |
5 | mkdir[目录名] | make directory | 创建目录 |
6 | rm[文件名] | remove | 删除指定文件 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUnjRRnA-1692182016058)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728155038493.png)]
其中蓝色表示目录,白色表示文件
在执行Linux命令时,如果提示信息为乱码,只是由于编码问题导致的,只需要修改Linux即可,命令如下:
echo 'LANG="en_US.UTF-8"'>> /etc/profile
source /etc/profile
4 Linux使用技巧
-
~ Tab键自动补全
-
连续两次Tab键,给出操作提示
-
使用上下箭头快速调处曾经使用过的命令
~使用clear命令或Ctr+快捷键实现清屏
Ctr+l
或
clear
Linux命名格式
语法
command [-option][paramter]
command:命令名
option:选项、可用来对命令进行控制,也可以省略
paramter: 传给命令参数,可以是零个,一个或者多个
注意:
[]代表可选
命令名,选项,参数之间必须要有空格进行分隔
eg
cd /root
touch 1.txt 2.txt 3.txt
常用命令
ls
作用:查看当前目录下的内容
语法显示
ls [-al][dir]
查看指定dir目录下都有什么文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1bpumf74-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163429823.png)]
说明
-a:显示所有文件及目录(.开头的隐藏文件也会列出)
-l: 除了文件名称之外,同时间文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细的列出来
注意:ls -l 可以简写为 ll
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22AHXRcn-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163206396.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPxW4Etf-1692182016059)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163233419.png)]
cd
作用:切换到当前目录进行工作,即进入指定目录
语法: cd[dirname]
说明
~ 表示当前用户的home目录
. 表示当前所在的目录
..表示当前目录的上级目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvPAOfii-1692182016060)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728163906258.png)]
eg
cd..切换到当前目录的上一级目录
cd ~切换到用户的home目录
cd /usr/local切换到/usr/local目录
cat
作用:用于显示文件内容
语法:
cat[-n] fileNmae
说明:
-n :由一开始对所有输出的行数编号
举例
cat /etc/profile 查看/etc目录下的profile文件内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5HFOUBzG-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728164531791.png)]
more
作用:以分页的形式显示文件内容
语法
more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或Ctrl+C 退出more
举例
more /etc/profile 以分页的形式显示/etc目录下的profile文件内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyN3tW5c-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728204132682.png)]
tail
作用:查看文件末尾的内容并显示,通常用于日志文件的内容输出
语法:
tail [-f]fileName
说明:
-f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile 显示/etc目录下的profile文件的末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件的末尾20行的内容
tail -f/itcast/my.log 动态读取/itcast目录下的my.log文件的末尾内容并显示
mkdir
作用:创建目录
语法:
mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir itcast 在当前目录下建议一个名叫itcast的子目录
mkdir -p itcast/test 在工作目录下的itcast目录中创建一个名叫test的子目录,若itcast目录不存在,则建立一个
rmdir
作用:删除空目录
语法:
remdir [-p] dirName
-p:当子目录删除后使父目录为空的话,则一并删除
举例:
rmidr itcast 删除名为itcast的空目录
rmidr -p itcast/test 删除itcast/目录下的test,若删除后itcast为空目录,则itcast也会被删除
rmidr itcast * 删除名称以itcast开始的空目录
rm
作用:删除文件或目录
语法:
rm [-rf]name
说明:
-
-r: 将目录即目录中所有文件(目录)逐一删除,即递归删除
-
f:无需确认,直接删除
举例:
rm -r itcast/ 删除名为itcast的目录和目录中的所有文件,删除前需要确认
rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中的所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
cp
作用:用于复制文件或目录
语法
cp [-r] source dest
说明:
-r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
- cp hello.txt itcast/ 将hello.txt 复制到itcast目录中
- cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并且改名为hi.txt
- cp -r itcast/./itheima/ 将itcast目录和目录下的所有文件复制到itheima目录下,相当于将怎个itcast目录复制到itheima中
- ./表示当前目录
- cp -r itcast/*./itheima/ 将itcast目录下的所有文件复制到itheima目录下
mv
作用:为文件或目录改名,或将文件或目录移动到其他位置
语法:mv source dest
source :原
dest:destination目标
举例
-
mv hello.txt hi.txt 将hello.txt改名为hi.txt
-
mv hello.txt itheima/ 将hello.txt移动到itheima目录中
-
mv hello.txt itheima/hi.txt 将hello.txt移动到itheima目录中,并改名为hi.txt
-
mv itcast/itheima/ 如果itheima不存在,将itcast改名为itheima,
-
如果存在,将itcast目录移动到itheima目录中中
tar
作用:对文件进行打包、解包、压缩、解压
语法:
tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有进行压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
- -z : z表示gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
- -c : c表示create,即创建新的包文件
- -x : x代表的是extract,实现从包文件中还原源文件
- -v : v代表verbose,显示命令的执行过程
- -f : f代表的是file,用于指定包文件的名称
eg
打包
tar -cvf itcast.tar itcast//将itcast进行打包操作,包名为itcast.tar
tar -cvf itcast.tar ./* //将当前目录下的所有文件进行打包操作
tar -zcvf itcast.tar.gz itcast//打包的同时又压缩,压缩包名为itcast.tar.gz
tar -zcvf itcast.tar.gz ./ //将当前目录下的所有文件进行压缩
运行结果
-rw-r--r--. 1 root root 10240 7月 28 21:58 itcast.tar
-rw-r--r--. 1 root root 185 7月 28 22:01 itcast.tar.gz
解压操作
tar -xvf itcast.tar//将itcast.tar包还原为源文件,位置为当前文件夹
tar -zxvf itcast.tar.gz //将itcast.tar.gz压缩包解压到当前文件夹
tar -zxvf itcast.tar.gz-C/usr/local //将itcast.tar.gz文件进行解压,并将压缩后的文件放在/usr/local目录
这里的C是分大小写的
显然打包后压缩的文件小于只打包的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4aLwMPrC-1692182016062)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728215922155.png)]
vi
文本编辑命令
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行修改,类似于windows中的记事本
语法:
vi fileName
说明:
vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用
vim
作用:对文本进行编辑,相当于文本编辑器
语法
vim fileName
2、 要使用vim命令,需要我们自己完成安装,可以使用以下命令完成安装
yum install vim
说明
1、使用vim命令编辑文件时,如果指定文件存在则直接打开此文件,否则创建新文件
2、vim编辑文本分为三种模式命令模式(Command mode)、插入模式(Insert mode)、和底形模式(Last line mode).
这三种模式可以相互切换。我们在使用vim时要注意我们当前所处于哪种模式
针对三种模式的说明
1、命令模式
- 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg(将光标移动到文件的开头)、G(将光标移动到文件的末尾))
- 通过vim命令打开文件后,默认进入命令模式
- 另外两种模式需要先进入命令模式,才能进入彼此(如:当前为插入模式想要换到底形模式,需要先切换到命令模式再切换到底形模式)
2、插入模式
- 插入模式可以对文件内容进行编辑
- 在命令模式下按[i,a,o]任意一个都可以进入插入模式。进入插入模式后,下方会出现[insert]字样
- 在插入模式下按ES键,回到命令模式
3、底形模式
- 底形模式下可以通过命令对文件内容进行查找、显示、退出等操作
- 在命令模式下按[:,/]中任意一个,可以进入底形模式
- 通过/方式进入底形模式后。可以对文件内容进行查找
- 通过:进入底形模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
find
查找命令
作用:在指定目录下查找文件
语法
find dirName -option fileName
在目录dirName及其子目录下查找 以fileName为名的内容
举例
-
find . -name “*.java“ 在当前目录及其子目录下查找 .java结尾的文件
-
find /itcast -name “*.java” 在/itcast目录及其子目录下查找.java结尾的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rsyzOn6z-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728225423977.png)]
grep
作用:从指定文件中查找指定的文本内容
语法:grep word fileName
举例:
-
grep Hello HelloWorld.java 查找 HelloWorld.java 文件中出现 Hello 字符串的位置
-
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
文件内容为
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LOvJr0GW-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230522733.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtXgL2qR-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230413939.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnTx658T-1692182016063)(C:\Users\champion\AppData\Roaming\Typora\typora-user-images\image-20230728230436995.png)]
4 软件安装
4.1 软件安装的方式
- 二进制发布安装包
- rpm安装
- yum安装
- 源码编译安装
4.2 安装jdk
操作步骤:
1、使用FinalShell自带的上传工具将jdk的二进制发布包传到Linux
2、解压安装包,命令为:tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
3、配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如下配置
即JAVA_HOME=jdk解压的位置
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
4、重新加载profile文件,使更改的配置立即生效,命令为: source /etc/profile
5、检查安装是否成功,命令为java -version
将文件上传的Linux操作系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h0FHraRE-1692182016063)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729125644385.png)]
Tomcat安装
操作步骤:
1、使用FinalShell自带的上传工具将Tomcat的二进制发布包传到Linux
2、解压安装包,命令为:tar -zxvf apach-tomcat-7.0.57.tar.gz -C /usr/local
3、进入Tomcat的bin目录启动服务,命令为sh startup.sh或./startup.sh
验证Tomcat启动是否成功,有多种方式
-
查看启动日志
- more /usr/local/apach-tomcat-7.0.57/logs/catalina.out - tail -50 /usr/local/apach-tomcat-7.0.57/logs/catalina.out
-
查看进程 ps -ef|grep tomcat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pn7AwqTD-1692182016063)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729134109676.png)]
注意:
- ps命令时Linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
- “|” 在Linux中成为管道符,可以将前一个命令的结果输出给后一个命令作为输入
- 使用sp命令查看进程时,经常配合管道符和查找命令一起使用,用来查看特定进程
验证tomcat正常运行之后,我们在我们电脑浏览器中进行访问tomcat时是访问不成功的因为Linux的防火墙是开启的状态
Linux中防火墙的操作命令
- 查看防火墙的状态(systemctl status firewalld、firewall-cmd - -state)
- 暂时关闭防火墙(systemctl stop firewalld)
- 永久关闭防火墙(systemctl disable firewalld)
- 开启防火墙(systemctl start firewalld)
- 开放指定端口(关闭指定端口防火墙)( firewall-cmd --zone=public --add-port=6379/tcp --permanent)
- 关闭指定端口(firewall-cmd - -zone=public --remove-port=8080/tcp - -permanent)
- 立即生效(firewall-cmd --reload)
- 查看开放端口(firewall-cmd --zone=public --list-ports)
注意:
1、systemctl 是管理Linux中服务的命令,可以对服务器进行启动、停止、重启、产看状态等操作
2、firewall-cmd是Linux中专门用于控制防火墙的命令
3、为保证系统安全,服务器的防火墙不建议关闭
4、不管是开放指定端口还是关闭指定端口在操作完之后都需要执行立即生效的命令
停止运行tomcat
-
运行Tomcat的bin目录中提供的停止服务的脚本文件 shutdown.sh
sh shutdown.sh ./shutdown.sh
-
结束Tomcat进程
-
查看Tomcat进程,获得进程id
ps -ef |grep tomcat kill -9 进程id
-
执行命令结束进程:kill -
注意:
kill 命令是LInux提供的用于结束进程的命令, -9表示强制结束
安装MySQL
1、检查当前系统中是否安装了MySQL数据库
rpm -qa 查询当前系统中的所有软件
rpm -qa|grep mysql 查询当当前系统中安装的名称带mysql的软件
rpm -qa|grep mariadb 查询当前系统中安装的名称带mariable的软件
RPM(Red-Hat Package Manager) RPM软件管理器,
注意事项
如果当前系统中已经安装了MySQL数据库,安装失败。CentOS7自带的mariadb,于MySQL数据冲突
2、卸载已经安装的冲突软件
rpm -e --nodeps 软件名 卸载软件
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHmdI4o8-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230814225243729.png)]
3:将MySQL安装包上传到Linux并解压
mkdir /usr/local/mysql
tar -zxvf mysql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfoloHds-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729145602353.png)]
4、按顺序安装rpm软件包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
说明一:安装过程中提示缺少net-tools依赖,使用yum安装
说明二:可以通过指令升级现有软件系统内核
执行命令
yum update
5、启动mysql
命令:
systemctl staus mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xi27ump4-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729151756287.png)]
启动后:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7w0iBQS-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729151822294.png)]
说明:可以设置开机时启动mysql服务,避免每次启动mysql
命令
systemctl enable mysqld 开机启动mysql服务
netstat -tunlp 查看已经启动的服务
netstat -tunlp|grep mysql
ps -ef|grep mysql 查看mysql进程
mysql默认为3306 端口号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxW0itV2-1692182016064)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729152327209.png)]
6、登录MySQL数据库,查阅临时密码
cat /var/log/mysqld.log 查看文件内容
cat /var/log/mysqld.log|grep password 查看文件中包含passwrd的行信息
注意:冒号后面的时密码,注意空格
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m3LPM7YA-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729152731281.png)]
7、登录MySQL,修改密码,开放访问权限
mysql -uroot -p 登录Mysql(回车后第一次登录使用临时密码登录)
#修改密码
set global validate_password_length=4;设置密码长度的最低位数
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改为abc123
set password=password('abc123');
#开启权限访问
grant all on *.*to 'root'@'%'identified by 'abc123';
flush privileges;
注意命令后面的分号且第7条指令中第一个引号内为‘用户名’,第二个引号内为‘数据库的连接密码’
退出mysql使用命令exit
重新登陆mysql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vPjduj1S-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230729154109881.png)]
之后就可以用Linux操作mysql数据库了
在配置文件/etc/my.cnf中修改配置
因为刚安装Mysql默认只能本地连接
要在/etc/my.cnf配置文件中加上或修改为bind-address = 0.0.0.0,如果不修改他默认为bind-address = 127.0.0.1只允许本地连接
vim /etc/my.cnf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GIxUxU3t-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230815213652188.png)]
安装 lrzsz
步骤:
1、搜索lrzsz安装包,命令yum list lrzsz
yum list 软件名
搜索软件名安装包
2、使用yum命令在线安装,命令为yum install lrzsz.x86_64
yum install 搜索出来的软件进行下载
注意事项:
Yum是一个Fedora和Redhat以及CentOS中的Sell前端软件包管理器,基于RPM包管理,能从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需频繁的一次次下载、安装
安装好之后,在想进行文件上传,只需执行命令:rz即可,Linux会自动弹出一个选择框
搜索软件安装yum命令
yum list 软件名
1、搜索lrzsz安装包,命令yum list lrzsz
搜索软件名安装包
yum install 搜索出来的软件进行下载
2、使用yum命令在线安装,命令为yum install lrzsz.x86_64
项目部署
手工项目部署
步骤:
1、将项目文件的jar包上传到Linux
2、执行 java -jar 加上上传的jar包的文件名
3、当项目运行起来时查看一下,LInux防火墙的8080端口是否对外开放
4、若端口号被占用
lsof -i 8080查到 PID后再kill -9 PID
部署好后
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3e0fcfEJ-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730180944644.png)]
浏览器进行访问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GRPyKYm7-1692182016065)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730180923234.png)]
5、改为后台运行SpringBoot程序,并将日志输出到后台运行
目前程序运行的问题:
- 线上程序不会采用控制台霸屏的形式运行,而是将程序在后台运行
- 线上程序不会将日子输出到控制台,而是输出到日志文件,方便运维查阅信息
nuhup命令:英文名称no hang up 不挂起,用于不挂断的运行指定命令,推出终端不会影响程序的运行
语法格式:
nohup Command[Arg..][&]
arg:一些参数,可以指定输出文件
&: 让命令在后台运行
举例:
nuhup -jar boot工程.jar &>hello.log & 后台运行java -jar 命令,并将日志输出到hello.log文件
如果部署不成功报了java未找到的错误
则需要重新命令java的环境变量
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
6、停止Springboot程序
ps -ef|grep 'java -jar'
kill -9 DIP
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XbHpkSPo-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230730183421943.png)]
通过shell 脚本自动部署
操作步骤
1、在Linux中安装Git(拉取代码)
2、在Linux中安装Meaven(编译、打包)
3、编写Shell脚本(拉取代码,编译、打包、启动)
4、为用户授予执行Shell脚本的权限
5、执行Shell脚本
1 安装git
yum list git 列出git安装包
yum install git 在线安装git
2 使用Git克隆代码
cd /usr/local/
git clone
3 使用Git克隆代码
cd /usr/local/
git clone 仓库地址
4 安装meaven
将meaven安装包上传到Linux,在Linux中安装maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
配置环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile 重新加载profile文件,使文件生效
mvn -version 查看安装的maven版本,检查是否安装成功
进入local文件夹下创建一个repo本地仓库
vim /usr/local/apache-maven-3.5.4/conf/setting.xml 配置内容如下
<localRepository>/usr/local/repo/<localRepository>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L9xeMYjt-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805145147141.png)]
4 将提供的shell脚本复制到Linux
后缀为.sh文件
内容为
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=demo02
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/demo02
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar demo02-1.0-SNAPSHOT.jar &> demo02.log &
echo 项目启动完成
cd /usr/local/
mkdir sh
cd sh/
vim bootStart.sh
进入命令模式
按i/a进入插入模式
将代码复制进入后按ESC退出再按:wq保存退出
将该代码修改为想要运行的项目名之后将其复制到新建的bootStart.sh文件
5为用户授权
chmod (英文:change mode) 命令是控制用户对文件的权限的命令
Linux中的权限分为:读(r)、写(w)、执行(x)三中权限
Linux的文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其他用户(Other Users)
例如:
-r--r--r--
-rwxrw-r-x
连同第一个r在内的三位表示文件所有者的权限
中间三个为用户组权限
最后三个为其他用户的权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZxuKVPeo-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805151748978.png)]
可见文件所有者并没有执行的权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h4L1YFuE-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805151947173.png)]
只有文件所有者和超级用户具有可以修改文件或目录的权限
执行shell脚本需要有对脚本文件的执行权限,如果没有则不能执行
为用户授权
chmod 命令可以用八进制数来指定授权
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3zC6z9C-1692182016066)(…/…/Documents/Tencent Files/3169927892/Image/C2C/012012BAF3E05ABAE1C7959D202ADD47.jpg)]
例如:
chmod 777 文件名 //为该文件赋予权限
例如
chmod 777 bootStart.sh
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WEiD6prr-1692182016066)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805152344533.png)]
此时再执行bootStart.sh文件时就能执行了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aT5b7WyN-1692182016067)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805152535248.png)]
打开日志如果出现 Error: Unable to access jarfile /usr/local/demo02/target/demo02-1.0-SNAPSHOT.jar
cat /usr/local/demo02/target/demo02.log
则将要执行的jar包的路径改为绝对路径即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kn5PV2uL-1692182016067)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230805165802448.png)]
6若要更新代码时需要在idea中联通target文件一起推送到远程仓库中
7 设置静态ip
修改配置文件:/etc/sysconfig/network-scripts/ifcfg-en33
将ip改为静态不变的
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
修改类容=====
BOOTPROTO=dhcp改为"static" #设置静态IP地址
IPADDR="你的ip地址" #设置的静态ip地址
NETMASK="子网掩码" #设置子网掩码
GATEWAY="网关地址" #设置网关地址
DNS1="DNS服务器" #DNS服务器
==================
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6eb4b8e7-99a1-40b4-b11c-bbf15fb9df28
DEVICE=ens33
ONBOOT=yes
ZONE=public
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13cLqcha-1692182016067)(…/md文件制作所需图片/Snipaste_2023-08-05_17-23-39.png)]
者和超级用户具有可以修改文件或目录的权限
执行shell脚本需要有对脚本文件的执行权限,如果没有则不能执行
为用户授权
chmod 命令可以用八进制数来指定授权
[外链图片转存中…(img-F3zC6z9C-1692182016066)]
例如:
chmod 777 文件名 //为该文件赋予权限
例如
chmod 777 bootStart.sh
[外链图片转存中…(img-WEiD6prr-1692182016066)]
此时再执行bootStart.sh文件时就能执行了
[外链图片转存中…(img-aT5b7WyN-1692182016067)]
打开日志如果出现 Error: Unable to access jarfile /usr/local/demo02/target/demo02-1.0-SNAPSHOT.jar
cat /usr/local/demo02/target/demo02.log
则将要执行的jar包的路径改为绝对路径即可
[外链图片转存中…(img-kn5PV2uL-1692182016067)]
6若要更新代码时需要在idea中联通target文件一起推送到远程仓库中
7 设置静态ip
修改配置文件:/etc/sysconfig/network-scripts/ifcfg-en33
将ip改为静态不变的
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
修改类容=====
BOOTPROTO=dhcp改为"static" #设置静态IP地址
IPADDR="你的ip地址" #设置的静态ip地址
NETMASK="子网掩码" #设置子网掩码
GATEWAY="网关地址" #设置网关地址
DNS1="DNS服务器" #DNS服务器
==================
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6eb4b8e7-99a1-40b4-b11c-bbf15fb9df28
DEVICE=ens33
ONBOOT=yes
ZONE=public
[外链图片转存中…(img-13cLqcha-1692182016067)]