迎着风跑  

Linux

一、Linux概述

1、学习Linux之前先了解Unix

Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。UNIX的商标权由国际开放标准组织(TheOpen Group)所拥有。UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。

2、Linux的概述

​ Linux是基于Unix的。Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机,诞生于1991年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。

 

3、Linux的历史

​ Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统

4、Linux系统的应用

  • ​ 服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;

    ​ 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,

    ​ 高性能运算、计算密集型应用Linux有强大的运算能力。

    ​ 桌面应用系统

    ​ 移动手持系统

    5、 Linux的版本

Linux的版本分为两种:<font color=red>内核版本和发行版本</font>;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号

Linux的主流版本

 

二、Linux网络连接三种模式

1、查看当前ip

ip addr  查看当前linux的ip地址

 

 

 

2、网络边接模式

​ 在VMware 中有三种网络设置方式

  • 桥接模式

    桥接模式是指与物理机(安装了VMware的电脑),使用同一个物理网卡,和物理主机使用同一个段的ip

  • NAT(地址转换模式)

    在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信

  • 仅主机模式

    仅主机模式是出于安全考虑,将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的

三、Linux目录结构

1、linux学习注意事项

  • linux中严格区分大小写

  • linux中所有内容以文件的形式保存,包括硬件(硬盘文件是:/dev/sd[a-p]),光盘文件是/dev/sr0 等

  • linux不靠扩展名区分文件类型(压缩包:.gz,.bz2,.tar.bz2,.tgz等),二进制软件包:.rpm,网页文件:.html,脚本文件:.sh,配置文件:.config

  • linux下所有的存储设备都要挂载后用户才能使用,包括硬盘、U盘

  • windows下的程序不能在linux下安装和运行

2、linux目录结构

四、Linux常用命令

1、列出文件列表:ls ll【记】

ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容

格式:ls参数

常用:在linux中以 . 开头的文件都是隐藏的文件

  • ls -a 显示所有文件或目录(包含隐藏的文件)

  • ls -l 缩写成ll 显示所有文件或目录的详细信息

  • ls -d 显示当前目录,点表示当前目录,将目录像文件一样显示,而不是显示目录下的文件

  • ls -h 智能显示

<font color=blue>案例:查看当前路径下的目录</font>

 

 

 

 

因为我们使用的是root帐户登录,所以ls就显示了root帐户的根目录

<font color=blue>案例:显示当前路径下的所有文件(包括隐藏文件)</font>

 

 

 

 

<font color=red>注意:在linux中以.开头的表示是隐藏文件或文件夹</font>

<font color=blue>案例:显示当前路径下的所有文件的详细信息</font>

2、清屏命令clear

当我们输了多次命令后屏幕就被占满了,如果我们还要输入其他命令就要往下拖动窗口,可以使用清屏命令让窗口自动往下滚一屏

 

 

 

<font color=red>清屏除了可以使用clear命令还可以使用ctrl+l快捷键</font>

3、切换目录命令cd【记】

linux中的切换目录命令和windows中的命令一样也是使用cd

<font color=blue>案例:使用cd切换到root帐号的home目录</font>

cd命令其他用法:

  • 切换到上一层目录cd /

  • 切换到用户主目录cd -

  • 切换到系统根目录cd ~

4、查看当前目录所在目录命令pwd

​ pwd命令是用来查看当前目录的路径

五、操作目录命令【记】

1、创建目录mkdir

mkdir(mke directory)命令可用来创建目录


语法:mkdir 目录名称

<font color=blue>案例:在root根目录下创建目录</font>

 

 

 

<font color=red>注意:mkdir一次只能创建一个目录</font>

2、创建多级目录mkdir -p

怎样在创建目录时还要在目录中再创建目录,比如app/test

<font color=blue>案例:在root根路径中创建app目录,然后在app目录中中创建test目录</font>

直接使用mkdir /app/test会报错

 

 

 

 

 

 

 

 

 

 

 

 

使用mkdir --help命令查看mkdir命令的帮助,基本上所有的命令都有此方法

 

 

 

 

 

 

 

 

 

 

创建多级目录

 

 

 

3、删除空目录rmdir

rmdir(remove directory)命令可用来删除“空”的目录

<font color=blue>案例:删除root根目录中的woniu目录</font>

 

 

 

4、删除多级目录rmdir -p

rmdir只能删除空的目录,如果目录中有文件则无法删除

<font color=blue>案例:删除app目录</font>

因为app目录中还有一个test目录,app目录不是空目录所有删除失败。查看帮助

 

<font color=blue>使用rmdir -p删除多级目录</font>

 

 

六、文件命令

1、文件操作命令【记】

a、touch创建一个空文件


语法: touch a.txt

<font color=blue>案例:在woniu目录中创建文件hello.txt</font>

 

 

 

b、cp 文件拷贝


cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
cp a.txt b.txt   将a.txt复制为b.txt文件
cp a.txt ../   将a.txt文件复制到上一层目录中

<font color=blue>案例:将hello.txt拷贝到app目录中</font>

 

 

 

除了可以将文件直接复制外,还可以在复制文件时修改文件的名称

<font color=blue>案例:将install.log拷贝到microboom目录中并改名为linux.txt</font>

 

 

 

<font color=red>如果要复制多级目录,可以使用cp -r   /xxx/xxx/xxx</font>

 

c、mv 移动或者重命名


mv 移动或者重命名
mv a.txt ../   将a.txt文件移动到上一层目录中
mv a.txt b.txt   将a.txt文件重命名为b.txt

<font color=blue>案例一:将woniu/linux.txt剪切到app目录中</font>

 

 

 

<font color=blue>案例二:将app/linux.txt剪切到woniu目录中并改名为log.txt</font>

 

 

 

 

 

d、rm 删除文件或目录

用法:rm [选项]... 文件...
rm a.txt   删除a.txt文件
  删除需要用户确认,y/n
rm 删除不询问
rm -f a.txt 不询问,直接删除rm 删除目录
rm -r a 递归删除,不询问递归删除(慎用)
rm -rf a 不询问递归删除
rm -rf *   删除所有文件
rm -rf /*   自杀

<font color=blue>案例:删除woniu/log.txt文件</font>

 

 

 

 

 

 

 

<font color=red>注意:使用 rm -r命令删除目录时每次都会询问是否删除不太方便 ,如果不想进行确认提示,可以使用rm -rf</font>

<font color=blue>案例:删除woniu目录</font>

 

 

 

<font color=red>使用rm -rf 删除目录时不会询问直接删除</font>

 

e、find查找文件位置命令

find指令用于查找符合条件的文件位置


示例:
find / -name “ins*” 查找文件名称是以ins开头的文件
find / -name “ins*” –ls
find / –user woniu –ls 查找用户woniu的文件
find / –user woniu –type d –ls 查找用户woniu的目录
find / -perm -777 –type d-ls 查找权限是777的文件

<font color=red>"/"表示要查找的目录,如果只写/则表示查找当前用户根目录下的文件</font>

<font color=blue>案例:查找app目录下txt结尾的文件</font>

 

 

 

 

f、grep查找文件里符合条件的字符串

查找文件里符合条件的字符串。


用法: grep [选项]... PATTERN [FILE]...
示例:
grep lang anaconda-ks.cfg 在文件中查找lang
grep lang anaconda-ks.cfg –color 高亮显示

<font color=blue>案例:查找word.txt中的linux字符串</font>

 

 

 

<font color=red>查询到的字符串会标红显示</font>

 

2、文件查看命令【记】

a、cat命令


cat用于显示文件的内容,格式:cat[参数]<文件名>

<font color=blue>案例:显示world.txt文件的内容</font>

 

 

 

b、more命令

more一般用于要显示的内容会超过一个画面长度的情况。<font color=red>按空格键显示下一个画面。回车显示下一行内容。</font>

<font color=blue>案例:显示hello.txt文件的内容</font>

 

 

 

c、less命令

​ less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制

<font color=red>用法同上</font>

d、tail命令

tail命令是在实际使用过程中使用非常多的一个命令,<font color=red>它的功能是:用于显示文件后几行的内容。</font>


用法:
  tail -10 /etc/passwd   查看后10行数据
  tail -f catalina.log   动态查看日志(*****)
  ctrl+c 结束查看

<font color=blue>案例:显示hello.txt文件后1行的内容</font>

 

 

 

<font color=blue>案例:动态显示world.txt的内容</font>

使用了-f后光标一直在等待而不会结束,当install.log文件发生变化时会直接将变化的内容显示。

 

 

 

修改world.txt的内容

 

 

 

自动显示已更新内容

 

 

 

七、Vi和vim编辑器

vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。 vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计; 因为程序简单,编辑速度相当快速。 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。 vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。 vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

<font color=red> vim的用法和vi一样。vim需要安装</font>


vim安装命令:
yum -y install vim*

 

1、vi编辑器【记】

在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。

vim和vi

<font color=blue>案例:使用vim编辑器修改app/world.txt文件</font>

使用vi打开world.txt,vim界面如下:

 

 

 

<font color=blue>使用vi</font>


在vi中按i键切换到插入模式编写内容
切换到插入模式:按 i 、o、a键;
  i 在当前位置前插入
  I 在当前行首插入
  a 在当前位置后插入
  A 在当前行尾插入
  o 在当前行之后插入一行
  O 在当前行之前插入一行

使用插入模式编写内容:

 

 

 

输入完成后需要切换回命令模式对文件进行保存


切换到命令行模式:在vi中按Esc键;

 

 

 


切换到底行模式:按 :(冒号);更多详细用法,查询文档《Vim命令合集.docx》和《vi使用方法详细介绍.docx》
:q退出
:wq保存并退出
:q!不保存退出

 

 

 

使用cat命令查看文件

 

 

 

2、重定向输出


> 重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
示例:
cat /etc/b.txt > a.txt 将etc/b.txt中的内容输出a.txt中,会将b.txt中的内容覆盖a.txt
cat /etc/b.txt >> a.txt 将etc/b.txt中的内容输出并且追加到a中,会将b.txt中的内容追加到a.txt的内容后

<font color=blue>案例:将world.txt的内容存放到bb.txt中</font>

 

 

 

<font color=blue>案例:将world.txt的内容追加到bb.txt中</font>

 

 

 

<font color=red>提示:只要是能在控制台输出的内容都可以使用上面的方式</font>

 

3、ps系统管理命令

ps命令是用来管理linux系统中的进程。


ps 正在运行的某个进程的状态
ps –ef 查看所有进程
ps –ef | grep ssh 查找某一进程
kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程

<font color=blue>案例:搜索名为hald的进程</font>

hald进程是linux的系统进程,用来加载计算机硬件的驱动。

 

 

 

<font color=blue>案例:强制杀死编号为5821的进程</font>

 

 

 

 

八、tar打包与解压命令【记】

​ tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。


常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件

1、打包


打包:
tar –cvf xxx.tar 要打包的文件
打包并且压缩:
tar –zcvf xxx.tar.gz 要压缩的文件

<font color=blue>案例:将app目录打包</font>

 

 

 

<font color=blue>案例:将microboom目录打包并压缩</font>

 

 

 

2、解压


解压
  tar –xvf xxx.tar 解压到当前目录中
  tar -zxvf xxx.tar.gz -C /usr/aaa 解压到user/aaa目录中

<font color=blue>案例:将app.tar.gz解压到woniu目录</font>

 

 

 

<font color=red size=5>-C表示要将解压结果存放到哪个目录中</font>

 

九、 Linux的权限命令

1、文件权限

 

 

 

通过上图可以看出linux中的权限由四个部分一共10个字符组成

 

 

 

2、Linux三种文件类型

​ 普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。

​ 目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。

​ 设备文件: Linux系统把每一个设备都看成是一个文件

3、文件类型标识


普通文件(-)
目录(d)
符号链接(l)
* 进入etc可以查看,相当于快捷方式字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)

4、文件权限管理


chmod 变更文件或目录的权限。
示例:
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt

<font color=blue>案例:将文件world.txt的权限修改为只读</font>

 

 

 

使用vi编辑

 

 

 

十、Linux软件安装

1、安装分类

linux中的软件有两种安装方式:源码包安装、rpm(二进制包)安装

  • 源码包安装:

    特点:由于安装的是源码包,所以要先编译再安装。

​ 注意:由于是源码包,里面都是源码,所以可以修改。有时候我们会看到一种包叫脚本包,也是源码包的一种。

  • rpm(二进制包)安装

    ​ 特点:由于是经过了编译,所以直接安装。

    ​ 注意:由于编译过了所以不能修改源代码。有时候我们会使用yum在线安装,yum在线安装属性rpm安装的一种。

2、安装方式

  • 源码包的安装

    源码包一般就是一个文件夹,里面必须含有src目录,src目录就是存放源码的

    源码包安装步骤:

    前提:在安装源码包前,要做环境检查,看当前系统是否满足安装这个包的要求,在源码包中一般来说都有一个命令文件叫做configure。这个命令文件就是用来做环境检查和环境配置的,如果检查通过了,会生成一个makfile的编译文件。那么如果当前没有configure这个命令文件,一定会有一个makfile文件,因为makfile是configure执行后生成的。

    如果源码包中有makfile文件可以直接编译-->安装,安装位置默认,可以在源码包的README中查看

    1、安装编译环境(c语言的编译器 gcc c++)
    安装命令:yum -y install gcc-c++
    2、编译:进入要安装的目录里面 执行 make命令
    3、安装:进入要安装的目录里面 执行 make install
  • 脚本包的安装

    只有一个文件夹,文件夹里面有bin目录,bin目录中的文件就是启动脚本,类似于windows的exe文件

  • rpm的安装

    包名后缀为rpm的包就是rpm包或二进制包

    rpm包安装步骤:


    1、检查包的安装
      rpm -qa 检查当前系统安装了多少个 rpm包     query   all
      检查系统是否已经安装过该软件包
      rpm -qa | grep XX

    2、安装rpm软件包
      rpm -ivh 包全名
    说明:install安装 verbase显示安装信息   h:hash 就是安装进度
     
    3、rpm软件包的升级
      rpm   -Uvh 包全名
      upgrade 升级
     
    3、卸载软件包
      rpm -e 包名
      erase 擦除

      强制卸载
      rpm -e 包名   --nodeps
  • yum在线安装

    在线安装,自动从网上下载包并安装(一边下一边安装,自去安装所需要的依赖)

    yum在线安装步骤:


    1、查询yum源是否有某个包
      yum list 查询yum源上的所有包
      yum list | grep 包名 查询yum源上的指定包
      当我们去敲yum list的时候,其实默认会去找/etc/yum.repos.d/里面的CentOS-Base.repo这个文件,这个文件就是配置yum中央仓库的文件
     
    2、yum安装
      yum -y install 包名

    3、yum包的升级
    yum -y update 包名

    4、yum包的卸载
    yum -y remove 包名

3、yum在线安装mysql

a、第一步:查看mysql是否安装


rpm -qa|grep mysql

b、第二步:卸载旧版mysql

如果mysql的版本不是想要的版本。需要把mysql卸载


[root@localhost ~]# yum remove mysql mysql-server mysql-libs mysql-common  
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm /etc/my.cnf

c、搭建网络yum源


安装一个mysql的yum源 安装之后,会在/etc/yum.repod/下多某个mysql yum源配置文件

mysql的yum源下载地址:https://dev.mysql.com/downloads/repo/yum/

d、安装yum源和mysql

安装yum源


yum localinstall mysql80-community-release-el7-3.noarch.rpm

安装mysql


yum -y install mysql-community-server6

e、启动mysql


当安装一个服务软件时,默认是把服务启动文件放在 /etc/init.d/里面,新版mysql在该目录中没有启动文件

旧版使用: service mysqld start 启动mysql
service mysqld restart 重启mysql
service mysqld status 查看msyql状态
service mysqld stop     停止mysql

新版使用: systemctl start mysqld.service 启动和停止mysql
      systemctl restart mysqld.service 重启mysql
      systemctl status mysqld.service 查看msyql状态
      systemctl stop mysqld.service   停止mysql
mysqld为mysql默认的服务名称。在linux中mysql的配置文件在/etc/my.cnf 中
 
service命令是redhat公司提供的管理服务的命令

f、查看mysql随机密码


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

 

 

 

g、修改root管理员的密码

​ 使用随机密码登录到msyql后输入mysql的修入密码命令


//1、先按mysql密码策略修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R';

//修改mysql密码复杂性策略
set global validate_password.policy=0;//关闭密码复杂性策略
set global validate_password.length=1; //设置最低密码长度为1

//下面三项可以不设置
set global validate_password.mixed_case_count=0;//密码至少要包含的小写字母个数和大写字母个数
set global validate_password.number_count=0; // 密码至少要包含的数字个数。
set global validate_password.special_char_count=0; // 密码至少要包含的特殊字符数

//再将密码修改为自己想要的
alter user 'root'@'localhost' identified by '123456';

 

 

 

h、开启mysql远程访问权限


//1、进入到系统数据库mysql,修改该库下user表的host列
update user set host='%' where user='root';
//2、执行两次下面的命令
grant all privileges on test.* to 'root'@'%';
//刷新数据库配置
flush privileges;

 

 

 

i、关闭linux防火墙


//临时关闭防火墙,系统重启后无效
systemctl stop firewalld.service  

 

 

 

j、远程连接错误解决

<font color=red>如果使用mysql客户端连接linux上的mysql可能会报如下错误,该错误是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password</font>

 

 

 


解决步骤:
//进入到mysql数据库
use mysql;
//更改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//刷新数据库配置
flush privileges;

k、配置mysql的默认编码格式为utf8

在/etc/my.cnf配置文件中添加如下内容


在mysql的配置文件中添加如下配置:
[mysqld]
character-set-server=UTF8MB4
default-storage-engine=INNODB,sword
wait_timeout=1814400
[mysql]
default-character-set=UTF8MB4
[client]
default-character-set=utf8

进入到mysql库中,输入:


查看mysql编码格式
show variables like 'character%';

 

 

 

 

4、脚本安装jdk

a、下载Linux版jdk

oracle官网:https://www.oracle.com/java/technologies/javase-downloads.html

 

 

 

b、上传jdk到linux

在linux中软件一般安装到/usr/local目录中

 

 

 

c、将jdk解压


解压命令:
tar -zxvf jdk-8u301-linux-x64.tar.gz

 

 

 

将解压后的jdk改名为jdk8


mv jdk1.8.0_301 jdk8

 

 

 

d、配置jdk环境变量

使用vi打开/etc/profile
在末尾行添加
	#set java environment
	JAVA_HOME=/usr/local/jdk8
	CLASSPATH=.:$JAVA_HOME/lib.tools.jar
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME CLASSPATH PATH
保存退出


 

 

 

重新加载环境变量


source /etc/profile

查看jdk版本


java -version

 

 

 

 

 

5、脚本安装tomcat

a、下载tomcat

​ tomcat官网:https://tomcat.apache.org/

 

 

 

 

 

 

b、上传tomcat到Linux

将下载的tomcat上传到linux的/usr/local/目录中

c、解压tomcat

  • 解压tomcat 命令同jdk解压

  • 将解压后的tomcat重命名为tomcat8 命令同jdk重命名

 

 

d、运行tomcat

启动tomcat之前要先关闭防火墙,如明关闭过则不用管

找到tomcat安装目录下的:tomcat8/bin/startup.sh

 

 

启动tomcat

<font color=red>./表示当前目录下</font>

 

 

访问

 

 

 

十一、闭Linux防火墙相关命令

  • 查看防火墙状态


    systemctl status firewalld.service 绿的running表示防火墙开启
  • 关闭防火墙


    systemctl stop firewalld.service
  • 开机禁用防火墙


    systemctl disable firewalld.service
  • 启动防火墙


    systemctl start firewalld.service
  • 防火墙随系统启动


    systemctl enable firewalld.service

1、在防火墙中开启指定端口

在实际的使用中不会将防火墙关闭,而是配置防火墙的放行

contos7的防火墙配置文件为:vi /etc/init.d/firewall


修改/etc/init.d/firewall 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT //开放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT //开放22端口

配置完成后输入:/etc/init.d/firewall restar 重启防火墙

 

十二、部署项目到Linux

部署前先将项目所需的数据库添加到linux的mysql中

1、部署jar包到linux

  • 修改项目pom文件

    将打包方式改为jar

    在pom中添加springboot插件


    <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <!--注意这个版本 ⽬前⽐较稳定,其它的版本有问题-->
          <version>1.4.2.RELEASE</version>
        </plugin>
      </plugins>
    </build>
  • 将项目打包后上传到linux

​ 上传成功后切换到jar包所在的目录,执行:java -jar 项目jar包名称

 

2、部署war包到linux

  • 修改项目pom文件

    将打包方式改为jar

    在pom中添加忽略tomcat插件配置

    <font color=red>不需要添加spring-boot-maven-plugin插件</font>


    <!--springmvc坐标-->
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
       <exclusions>
           <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-tomcat</artifactId>
           </exclusion>
        </exclusions>
    </dependency>

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope>
    </dependency>
  • 修改springboot启动类

    在启动类继承SpringBootServletInitializer,并重写configure⽅法


    @SpringBootApplication
    public class ApplicationApp extends SpringBootServletInitializer {
       public static void main(String[] args) {
           SpringApplication.run(ApplicationApp.class, args);
      }

       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
           return super.configure(builder);
      }
    }
  • 打成war包后将war上传到linux中tomcat的webapps目录中,启动tomcat即可

  • 查看tomcat日志

    切换到tomcat/logs/目录中执行如下命令


查看实时日志
tail -f catalina.out

四、linux的网络配置

  • 配置静态ip

    配置静态ip需要知道linux当前的网卡名称 输入:ip addr

    修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 ens33为网卡的名称


    修改如下内容
    bootproto=static
    在最后加上几行,IP地址、子网掩码、网关、dns服务器
    IPADDR=192.168.1.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.2 //在vm中网关地址是2
    DNS1=192.168.1.2
    DNS2=192.168.1.2

    重启网络服务


    systemctl restart network

    测试外网


    ping www.hao123.com

    ping -c 4 www.hao123.com

 

posted on 2021-10-30 17:54  迎着风跑  阅读(109)  评论(0编辑  收藏  举报