Linux基本使用和web程序部署

一:Linux环境搭建

(1)虚拟机

将Linux搭建在虚拟机上


缺点:由于当前的虚拟机软件(如VMWare之类的)存在一些bug,会导致环境上出现各种莫名其妙的问题


非常不推荐

(2)WSL(Windows Subsystem for Linux)

Windows系统内集成了一个Linux内核


缺点:目前这个技术还不够成熟


暂时不推荐

(3)云服务器

可以直接在腾讯云、阿里云或华为云等服务器厂商处直接购买一个云服务器


优点:使用云服务器不仅环境搭建简单,避免折腾,同时还有一个最大的好处,部署在云服务器上的项目可以直接被外网访问到,这个时候就和一个公司发布一个正式的网站没有任何区别!也就能让我们自己写的程序真的去给别人去使用!到时候我们面试的时候就可以提前部署好项目, 现场给面试官演示了


缺点:要钱;虽然这么说,但是比如腾讯云阿里云等为在校学生提供了优惠,只要通过学生认证,最低可以10块钱一个月,少买一杯奶茶又何妨


强烈推荐

二:使用终端软件连接到Linux

(1)终端软件

终端软件是一类工具软件,可以和远程的主机建立网络连接,从而对主机进行一些操作

(到时候就可以和你买的云服务器的主机进行连接)

(2)Xshell

XShell是一个知名的终端软件


下载安装XShell➜XShell

(3)Xshell连接云服务器

①云服务器的信息

(1)公网IP

例:以阿里云为例

Linux基本使用和web程序部署_第1张图片


(2)服务器的管理员账户

(Centos的固定为root;Ubuntu的固定为ubuntu;或者你可以在云服务器中查询)


(3)服务器的管理员密码

(自行设置的)

②Xshell页面

(1)点击页面所示

Linux基本使用和web程序部署_第2张图片

(2)新建会话

1.名称可以任取

2.主机填的就是云服务器给的公网IP(上图红色框框的地方)

Linux基本使用和web程序部署_第3张图片


(3)登录用户

这里的密码是云服务器上自己去定义的

Linux基本使用和web程序部署_第4张图片

Linux基本使用和web程序部署_第5张图片


(4)进入Xshell页面

Linux基本使用和web程序部署_第6张图片

(4)关于Xshell的小细节 

①关于复制和粘贴:

或者右键命令行界面也可以进行粘贴

Linux基本使用和web程序部署_第7张图片


②关于登陆成功后的左侧命令提示符:

Linux基本使用和web程序部署_第8张图片


③关于回车:

1.什么都不输入,直接回车,就是另起一行

2.输入相关命令后再回车,就会执行该命令

(如果输入的是非法命令,就会提示报错,同时会出现一些反馈信息)


④关于文件:

Xshell中会把不同的文件按照不同颜色表示出来

(1)白色:普通文件

(2)蓝色:文件夹/目录

(3)青色:快捷方式(链接文件)

(4)红色:压缩包


⑤关于Tab键:

在敲命令的时候,有时候不用把全部命令都敲完,按Tab键可以进行补全


⑥关于清屏:

Ctrl+L


⑦关于找到之前的输入的命令:

鼠标上下滑动

三:关于Linux小知识

(1)主目录

Linux中,~表示主目录,也称为home目录

(一般我们的操作都是在主目录这里完成的)


相当于Windows下的C盘/用户/86188

Linux基本使用和web程序部署_第9张图片

(2)根目录

Linux中,/ 表示根目录


相当于Windows下的"此电脑"

Linux基本使用和web程序部署_第10张图片

(3)当前目录和上级目录

①.  :表示当前目录


②..  :表示上级目录

(4)绝对路径和相对路径

①绝对路径:以 / 开头的

(/ 表示根目录)


②相对路径:以 .或者..开头的

(. 表示当前目录;..表示上级目录)

四:Linux常用命令

(1)ls

1.功能

对于目录,该命令列出该目录下的所有子目录与文件


对于文件,将列出文件名以及其他信息

2.语法

ls [常用选项] [目录或文件]

(ls不加任何参数,表示查询当前目录下的文件/文件夹)


3.常用选项

-a:列出目录下的所有文件,包括以 . 开头的隐含文件


-d:将目录象文件一样显示,而不是显示其下的文件


-k:以k字节的形式表示文件的大小


-l:列出文件的详细信息

Linux基本使用和web程序部署_第11张图片


-r:对目录反向排序


-t:以时间排序


-R:列出所有子目录下的文件(递归) 

(2)cd

1.功能

切换目录

2.语法

cd 目录名

3.使用示例

cd 或者 cd ~:进入用户家目录,即home目录


cd -:返回最近访问目录


cd /:进入根目录


cd ./指定目录:相对路径方式;进入当前目录的指定目录

(一般来说,这个.和/可以省略)

这两者没有区别


cd .. : 返回上级目录

Linux基本使用和web程序部署_第12张图片

(3)pwd

1.功能

显示用户当前所在的目录,即找到当前目录所在位置

2.语法

pwd

3.使用示例

Linux基本使用和web程序部署_第13张图片

(4)touch

1.功能

创建一个文件


可更改文档或目录的日期时间,包括存取时间和更改时间

2.语法

touch [选项]... 文件...

3.使用示例

Linux基本使用和web程序部署_第14张图片

(5)cat

1.功能

查看指定文件的内容

2.语法

cat [选项] [文件]

3.常用选项

-n:对输出的所有行编号

(6)echo

1.功能

往指定文件写入内容

2.语法

echo [输入的内容] > / >> [指定文件]


注意一个大于号和两个大于号的区别:

(1)>:表示覆盖之前的内容

(2)> >:表示追加,之前的内容不会覆盖

3.使用示例

(7)vim

1.概念

vim是一个知名的文本编辑器

(相当于Windows系统下的记事本)


cat, less, head, tail等命令只能查看文本,不能编辑文本;使用vim就可以进行编辑了

2.创建文件 / 打开文件

vim [文件名]

3.进入插入模式

vim打开文件后默认是普通模式

(此时键盘上按下的键,都属于快捷键,不会对文件进行真正的编辑)


使用i键可以进入到插入模式,然后就可以像记事本一样正常编辑了

(左下角提示 --INSERT-- )

4.保存

在插入模式下不能保存文件,需要先回到普通模式


按下 Esc 回到普通模式,在普通模式下输入 :w ,再按下回车, 即可保存文件

5.退出

在插入模式下不能退出,需要先回到普通模式


在普通模式下输入 :q,再按下回车,即可退出

(也可以直接使用 :wq 同时执行保存和退出)

6.使用示例

①进入之前创建的java108.txt


②此时默认是进入普通模式

Linux基本使用和web程序部署_第15张图片


③按i进入插入模式

Linux基本使用和web程序部署_第16张图片


④任意编辑文件,就跟记事本一样

Linux基本使用和web程序部署_第17张图片


⑤先按Esc键退出插入模式来到普通模式,然后按:wq保存并退出

(记得要先按Esc键退出插入模式)

Linux基本使用和web程序部署_第18张图片

(8)mkdir

1.功能

创建一个目录

2.语法

mkdir [选项] 目录名字...

3.常用选项

-p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录


例如:

mkdir –p test/test1 : 递归建立test和test目录下的子目录test1

4.使用示例

(1)创建一个java108的目录

Linux基本使用和web程序部署_第19张图片


(2)在java108目录下创建111目录,在111目录下创建222目录

Linux基本使用和web程序部署_第20张图片

(9)rm

1.功能

删除文件或目录

2.语法

rm [常用选项] [目录/文件]

3.常用选项

①-f:即使文件属性为只读(即写保护),亦直接删除


②-i:删除前逐一询问确认


③-r:删除目录及其下所有文件

4.使用示例

①删除文件

Linux基本使用和web程序部署_第21张图片


②删除目录

(10)cp

1.功能

复制文件或目录

2.语法

cp [选项] 源文件或源目录 目标文件或目标目录

3.常用选项

①-f:强行复制文件或目录, 不论目的文件或目录是否已经存在


②-i:覆盖文件之前先询问用户


③-r:将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

(复制目录一般带-r选项)


④-R:将指定目录下的文件及子目录一并处理

4.使用示例

Linux基本使用和web程序部署_第22张图片

(11)mv

1.功能

①当第二个参数是目标文件时,mv命令完成文件重命名

(此时,源文件/源目录只能有一个,它将所给的源文件或源目录将重命名为目标文件名)


②当第二个参数是已存在的目标目录名称时,mv命令完成文件移动

(源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中)

2.语法

mv [选项] 源文件或源目录 目标文件或目标目录

3.常用选项

①-f :强制;如果目标文件已经存在,不会询问而直接覆盖


②-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

4.使用示例

①第二个参数为目标文件时:


②第二个参数为目标目录时:

Linux基本使用和web程序部署_第23张图片

Linux基本使用和web程序部署_第24张图片

(12)man

1.功能

Linux的命令有很多参数,我们不可能全记住,我们可以通过man指令查看联机手册获取帮助

2.语法

man [选项] 命令


按Q退出

3.常用选项

①-k:根据关键字搜索联机帮助


②num:只在第num章节找


③man man:能够看到 man 手册中的若干个章节及其含义

(13)grep

1.功能

用于查找文件中是否包含指定字符串,并显示对应的行

2.语法

grep [参数]... 指定的字符串  [文件]... 

3.常用选项

①-n:显示的行数


②-w:全字匹配. 要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分


③-r:递归查找. 可以搜索多级目录下的所有文件


④--color:高亮查找到的结果


⑤--include:指定查找某些文件


⑥--exclude:指定排除某些文件

4.使用示例

(14)ps

1.功能

用于查看当前系统上运行的进程

2.语法

ps [参数]...

3.常用选项

①a:显示一个终端的所有进程


②u:以用户为主的格式来显示程序状况


③x:显示所有程序,不以终端机来区分


④aux:可以看到Linux上所有的进程

4.使用示例

①显示Linux上所有的进程

Linux基本使用和web程序部署_第25张图片


②显示包含vim的所有进程

(这里的 | 称为管道;能够把多个命令连接到一起,即把前一个命令的输出作为后一个命令的输入)

(15)netstate

1.功能

查看系统上的网络状态

2.语法

netstat [参数]...

3.常用选项

①-a:显示所有正在或不在侦听的套接字


②-n:显示数字形式地址而不是去解析主机、端口或用户名


③-p:显示套接字所属进程的PID和名称


④-anp:常用的方式去查看

4.使用示例

根据端口号去筛选出对应的线程

五:搭建Java部署环境

(1)yum/apt

1.定义

yum和apt是Linux下非常常用的一种包管理器

(包管理器就好比 "应用商店", 我们可以在应用商店上下载一些 app)


yum和apt起到的功能和Maven的依赖管理功能类似;使用Maven能帮我们方便的安装一些第三方jar包,而yum和apt方便我们方便的安装第三方程序


①yum:centos发行版上的包管理器


②apt:Ubuntu发行版上的包管理器

2.查看软件包列表

①centos发行版上的yum

yum list | grep [软件包关键字]


②Ubuntu发行版上的apt

apt search [软件包关键字]


③示例:因为我的是Ubuntu,所以使用apt

Linux基本使用和web程序部署_第26张图片

3.安装软件包(需要管理员权限)

①centos发行版上的yum

yum install [软件包名字]


②Ubuntu发行版上的apt

apt install [软件包名字]


安装软件包,需要确保你是管理员身份,即root身份

(1)如果你使用的是centos,你就已经是root身份

(2)如果你使用的是Ubuntu,你可能需要通过sudo root这个命令切换到管理员身份,也有可能已经是root身份

4.卸载软件包(需要管理员权限)

①centos发行版上的yum

yum remove [软件包名字]


②Ubuntu发行版上的apt

(2)JDK

1.下载jdk的版本

我们选择jdk1.8


 ①apt包管理器


②yum包管理器

2.下载jdk8

①apt包管理器

(输入Y就代表确认下载)

Linux基本使用和web程序部署_第27张图片


②yum包管理器

3.查看jdk是否成功安装

(输入javac也行)

Linux基本使用和web程序部署_第28张图片


Linux基本使用和web程序部署_第29张图片

(3)Tomcat

1.下载Tomcat的版本

我们选择Tomcat8

2.查看Tomcat软件包的版本

①centos发行版上的yum

yum list | grep tomcat


②Ubuntu发行版上的apt

apt search tomcat


(由于这里的Tomcat版本比较低,我们另寻捷径,下文会讲到)

3.如何下载Tomcat

1.进入到Tomcat官网:Tomcat官网


2.左侧DownLoad,点击Tomcat8,下拉,然后点击如下图所示的zip进行下载

Linux基本使用和web程序部署_第30张图片


3.在Linux上,先在home目录下创个目录,进入新建的目录,拖住zip包放到Linux页面上即可完成上传

把zip包拖到Linux页面之前,需要先下载点东西

(1)对于Centos的指令:yum install lrzsz

(2)对于Ubuntu的指令:apt install lrzsz

Linux基本使用和web程序部署_第31张图片


4.解压缩Tomcat

使用unzip解压缩:unzip 压缩包名

Linux基本使用和web程序部署_第32张图片


5.修改可执行权限

(1)先进入到bin目录下

cd apache-tomcat-8.5.94/bin

(至于版本,看你下载的是什么版本,修改后缀即可)

(2)给.sh 后缀的文件加上可执行权限

chmod +x *.sh

Linux基本使用和web程序部署_第33张图片


6.启动Tomcat

(1)当你不在bin目录下

sh bin/startup.sh

(2)当你在bin目录下

sh startup.sh


7.验证Tomcat是否启动成功

Linux基本使用和web程序部署_第34张图片

4.强制关闭Tomcat

kill Tomcat进程的id

5.外网IP访问Tomcat默认页面

1.首先需要开启云服务器的安全组/防火墙功能

以阿里云为例:

Linux基本使用和web程序部署_第35张图片

Linux基本使用和web程序部署_第36张图片

Linux基本使用和web程序部署_第37张图片


2.访问Tomcat默认页面

云服务器的IP:8080

Linux基本使用和web程序部署_第38张图片

(4)MySQL

(1)Centos安装MySQL5.7版本

参考文章➜CentOS 7 通过 yum 安装 MariaDB

(2)Ubuntu安装MySQL5.7版本

参考文章➜ubuntu 20.04安装mysql 5.7

(3)Ubuntu安装MySQL8.0版本

①输入apt search mysql,找到如下图所示


②输入apt install mysql-server-8.0即可完成安装

Linux基本使用和web程序部署_第39张图片


③输入mysql -uroot进行访问mysql

Linux基本使用和web程序部署_第40张图片


④在mysql命令行输入exit即可完成退出


⑤通过输入mysql -uroot -p即可完成输入密码登录mysql

(由于我的mysql密码为空字符串,即“ ”,因此在Enter password这一行按一下回车即可)

Linux基本使用和web程序部署_第41张图片


⑥关于如何修改mysql密码可参考文章:ubuntu20.04 上 mysql8.0 用户密码修改

六:部署博客系统

关于博客系统的文章:简略版博客系统(使用前后端分离)

(1)进行Java代码的微调

打开DButil文件,安装下图完成代码修改

(这里数据库的密码必须要和云服务器上安装的数据库密码相同;而我这里密码是"")

Linux基本使用和web程序部署_第42张图片

(2)在云服务器的数据库建库建表

打开db.sql文件,把里面的内容复制到云服务器安装的数据库上Linux基本使用和web程序部署_第43张图片

Linux基本使用和web程序部署_第44张图片

(3)打包程序成war包

①先打开pom.xml,然后加入红色框框这些内容,确保下载的是war包

Linux基本使用和web程序部署_第45张图片


②双击最右侧的maven面板,点击lifecycle,双击package即可进行打包

Linux基本使用和web程序部署_第46张图片


③打包完成后,可以看到左侧target目录多了一个war包,名字即finalName标签里写的名字

Linux基本使用和web程序部署_第47张图片

(4)把war包上传到Tomcat的webapps目录下

①先进入到webapps目录下

Linux基本使用和web程序部署_第48张图片


②把war包拖到Linux页面,即可完成上传

Linux基本使用和web程序部署_第49张图片

(5)使用云服务IP打开博客系统

[云服务器IP]:8080/war包名/html页面

你可能感兴趣的:(Java-EE,linux,运维,服务器)