0


Linux常用命令 + Web程序部署

Linux

文章目录

前言:

说一下Linux的notion,Linux是一个操作系统,Linux表示一个“操作系统的内核”;内核包含了操作系统最核心的功能:

1、管理各种的硬件设备

2、给各种软件程序提供一个稳定的运行环境

一个完整的操作系统 = 》 操作系统内核 + 配置的应用程序

Linux的发行版非常的多,现在公司大多最主要使用的发行版,叫作Radhat(红帽),但是红帽是收费的,但是可以用CenOs来代替(Redhat)红帽, 这两个事情只是换了一个logo,其他无本质差别。

一、使用Xshell

1、先要买一个云服务器获取外网ip,可以在打折的时候买

2、选镜像要选 centOs 的镜像

3、在官方下载Xshell ,官网地址:(https://www.xshell.com/zh/xshell/),下载的时候可以选择免费版的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPWReffo-1650964187718)(https://cdn.jsdelivr.net/gh/power152/Image/202204251539214.png)]

4、在Xshell中顶部新建会话,然后设置一些属性

image-20220424143412709

5、然后就是设置用户名和填写密码;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FHCWv33x-1650964187721)(https://cdn.jsdelivr.net/gh/power152/Image/202204241441264.png)]

6、最后在打开会话目录中点击自己要选的会话,然后连接即可

image-20220424144230610

7、成功连接云服务器;

image-20220424142258069

二、常用命令操作

1、ls(罗列文件)

ls
ls

----> 罗列出当前目录的文件和目录 (也可以理解成 list)

​ 类似于Windows里面的“文件资源管理器”

image-20220424150202434

这种类似于“文件资源管理器”中的大缩略图显示项,只显示名称

ls -l

------> 这里按照列表的方式来显示,会显示详细信息,也可以简写

“ll” 

,这里的每个结果都占一行,然后显示的信息就更详细了。

image-20220424150857242

文件名的地方:

1、白色的是普通文件

2、蓝色的是目录

3、红色的是压缩包文件

4、绿色的是可执行文件

“ll /”

这里就能看到

“/"

目录中的内容,

/

也叫作 “根目录” ,

"/"

也相当于Windows上的“此电脑”

image-20220424153459043

2、cd(切换)

cd(change directory)命令: 切换目录

cd 后面跟一个具体的目录,这个目录就表示要切换到哪里,cd往往是跟ls搭配使用,两个结合,就可以完成Windows 一样的查看文件和目录效果了。

cd /

这个操作就是切换

/

的目录,然后命令提示服里面的

~

就变成了

/

,cd 后面可以填写任意的目录

cd 后面填写可以绝对路径,也可以是相对路径!

1、在Linux上,认为以 / 开头的就是一个绝对路径,从根目录往下数,获取到完整的路径

2、以 . 或者 … 开头的就是相对路径,从当前目录开始往下找,找到的一个不太完整的目录

​ 当前命令行所在的目录就称之为工作目录,指定相对路径,都是以工作目录为基准的,如果当前的工作目录不同,要找一个文件的相对路径,也是不同的

​ ./ —> 当前目录

​ …/ ---->上级目录

小技巧:

​ 按 tab 可把其他的单词补全

3、pwd(查看当前目录)

pwd

----> 是用来查看当前目录的绝对路径的


前面这三个命名是常用命令,搭配使用就可以完成“windows”上的“文件资源管理” 这样的程序效果

双击:

cd

查看列表:

ls -l

目录:

pwd

接下来就会还会实现常用的功能。

1、创建文件 touch

2、查看文件内容 cat(concatenate)

3、创建目录 mkdir(make directory)

4、删除 rm(remove)


4、touch(创建空文件)

touch

文件名 -----> 就会创建出一个空的文件出来

5、cat(查看)

cat

------> 通过 cat 文件名,来查看文件里面的内容

6、echo(编辑简单内容)

echo

----> 通过echo操作就能在文件中简单写入一些内容

echo "java hello"> java101.txt

这里的意思就是把“java hello" 写入java101.txt 的文件中

这里的

>

叫做重定向,Linux的重定向意思又是另外的意思了,也就是把内容写到指定的文件中

echo "java hello"

这里只会显示在屏幕上

7、mkdir (创建目录)

mkdir

(make directory) 创建目录

mkdir

后面填写的目录也可以是绝对路径,也可以是相对路径

8、rm(删除)

rm

(remove) 删除

在删除的时候可能会有提示,输入y(yes)表示确认,输入其他的值都表示取消

image-20220424170304239

rm

不仅可以删除文件,也可以删除目录;因为目录中有很多的文件,此时需要递归所以要加上

-r

这个选项,完整命令

“rm -r”

-r 表示递归,删除的目录里面可能还有文件,或者有其他的目录,要删除这个目录,就要先删除到目录中的子目录

  • 这里出现了一个问题,如果这个目录中 子目录有很多,难道要手动输入多次y吗?

image-20220424170835241

所以我们更常用的情况就是,在加上

-f

选项,

-f

就表示直接跳过确认,直接删除(强制删除,f表示 force)。完整命令

“rm -rf 目录名”

删除的时候一定要小心小心再小心,一旦删掉,Linux是没有回收站的,删掉就无法恢复了!!!!,尤其是有一个命名

“rm -rf / ”

的时候,这就删除了这个系统,

“ / ”

这个就是此电脑,如果收入这个命名

“rm -rf / ”

那么就全删了

在公司一定不能用

“rm -rf / ”

!!!

删除的情况都是无意的,可能要删除某个文件用绝对路径的时候,可能会写成”rm -rf / root/aaa",这里的 “空格/空格”

rm

就会以为你要删除两个目录,

rm

支持删除多个目录或者文件,多个文件之间使用空格分割的。

”rm -rf / root/aaa"

这里表示第一个目录就是

“ / ”

; 第二个目录就是相对路径

“root/aaa”

,这里的

“ / ”

就表示删除了“此电脑”!

9、mv(移动)

mv(move)-----> 进行移动

mv 源目录 目标路径

image-20220424180204499

mv

这个操作可以边移动边改名字

image-20220424181631622

所以说 mv 不仅仅可以移动还可以 重命名 。

10、cp(拷贝)

cp

(拷贝)用法和 mv 一致 只是没有重命名功能。

image-20220424182323230

cp

复制一个目录并移动 需要用到递归,要加上

“-r”

;完整命令

“cp -r 源目录 目标目录”

image-20220424183045489

在Linux中有个man命令可以查看命令的手册,说明,输入 “man XX” 就可以看到.

下面就要介绍重要的编辑和查看操作了!!!虽说

cat

可以用来查看,

echo

可用来编辑但是在现在已经不流行了。

11、less

这是查看文件,一般是用来查看大文件的时候用的命令,当使用less打开文件的时候用上下箭头来翻页,q是退出,最大的优势在于可以秒开大文件,less打开的时候显示多少就从磁盘读多少出来,不会太吃内存,在很多编辑器中是要把文件读完才显示出来,特别是大文件,读的慢,而且还浪费内存。

12、vim(查看编辑文件)

相当于电脑上面的记事本

直接在Xshell中输入

vim

,就会进入vim页面主页面,就是以下这个页面。

image-20220424184431557

vim 文件名

,就会打开一个具体文件,然后进入编辑页面

(1)、如何编辑

  • vim 中用两种模式,当我们刚进入vim 时是 Normal Mode(普通模式)这时是不能编辑的,需要却换到 Insert Mode(插入模式)才能编辑,按下小写字母 i 就会进入insert模式,做下角也会显示INSERT提示,进入到插入模式键可以想记事本一样编辑了。

image-20220424185159729

(2)、如何保存退出

1、先要回到 Normal Mode,按下键盘上的 esc 键就会回到 Normal Mode

2、看到 Insert 没有了说明回到了 Normal Mode

3、保存退出,需要先按下

然后在输入

wq

回车,就能保存退出

​ > w : write 保存

​ > q : quit 退出

13、date

查看,设置,格式化时间

1、在Linux机器上,没有显示的时间,可以直接

date

命令获取当前时间指定的格式

image-20220425144801426

2、也可以灵活的设置时间的格式

date +"%Y/%m/%d %H:%M:%S"
date +"%Y-%m-%d %H:%M:%S"
date +"%H:%M:%S"
date +"%H:%M"//注意这里 +后面是没有空格的!!!!

image-20220425145745382

这里用date命令再 + 上时间日期的格式化符号,就可以获得自己自定义的时间,这种时间日期格式化的符号在很多编程语言中都是用这种类似的符号体系来表示,而他们的作用是用来是以时间作为后缀,防止文件名重复,更好的辨认文件

3、借助 date 可以用来转换时间戳

date +%s

(1)、这个表示就是查看当前时间戳

image-20220425151140786

(2)、也可以用时间戳转换为可读时间

date -d@时间戳

image-20220425151332621

14、ps

ps(process show)展示进程,相当于windows上的“任务管理器”

ps aux

这是这个命令的常用选项,是个固定搭配,用来看当前主机上面的进程

图片就不展示了,进程太多,懒得截图。

(1)、grep

正因为进程多,当我们要查找指定进程的时候,就要用

grep

来进行操作查找了,

grep

是对输出的结果进行筛选(按字符串来查找)

ps aux | grep xxx

image-20220425152507853

中间的 “|” 叫做 管道,也是跟 grep 命令 搭配这使用的,这个管道的作用,相当于通过 ps aux把所有的进程都通过管道传递给 grep 这边,grep就根据后面的关键字来进行查找,此时关键字是 vim,那么就把包含了 vim 的字符串的行都留下。

15、netstat

查看网络的状态的,通常也是跟 管道和“grep” 来搭配着使用,他的作用主要是来查看服务器上面的端口号是不是被占用了。

netstat -anp | grep xxxx

image-20220425153435804

此时查看的是3306端口,这里什么都没有出现,说明就没有被占用,如果出现了东西,并且有提示说明,那你的端口号就被占用了。

三、认识Linux中的权限

image-20220425154127072

r ---------> read (可读)
w ---------> write (可写)
x ---------> execute (可执行)
开头是 “d” 表示是一个目录
开头是 “-” 表示是一个普通文件

权限中的可执行,是指这个文件是否可以被操作系统加载并运行(当成一个进程来运行),授予了这个权限才能运行,为什么要设置是这个机制,主要还是防止黑客,运行一个程序是可能存在风险的,黑客可能会在程序里面搞破坏。

以第一个

“drwxr-xr-x”

为例,d说明是一个目录,后面的 rwx 是 能读 能写 能执行,后面的 r-x 是 能读 不能写 能执行,依次为例。

这里就有一个疑问了,这里的为什么会出现 三次的

rwx

尼?

​ 所谓权限就指,Linux针对用户就分成了三类,然后这三类用户就可以设置不同的权限。

​ 1、文件的拥有者

​ > 可读可写可执行

​ 2、文件的拥有者的同组的用户

​ > 可读 不可写

​ 3、其他用户

​ > 不能读 不能写,不能执行

但是还有一个特例,就是管理员,管理员拥有最高权限,可以无视上面的规则!!!

四、在Linux上部署Web程序

部署Web程序需要搭建环境

1、JDK

2、Tomcat

3、MySQL

环境代建好了基本上把程序部署在Web上面就轻松了。

1、安装JDK:

在Linux中一个类似于应用商店的东西加做

“yum"

,

"yum"

叫做包管理器,需要下载什么直接搭配

grep

这个关键字来查找就行

现在我们使用命令来查找 jdk

yum list | grep jdk

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hWJ4lOqy-1650964187739)(https://cdn.jsdelivr.net/gh/power152/Image/202204251633303.png)]

筛选出来有很多jdk安装包,这里我们选自1.8版本的,后面带有 devel(软件开发包),后缀x86_64 就表示64位系统软件包,如果后缀是i686,表示是32位系统的软件包

选中过后输入命令安装等待即可:

yum install java-1.8.0-openjdk-devel.x86_64

image-20220425163856936

2、安装Tomcat

这里推荐手动安装,因为 yum 里面的tomcat一般版本太老了,有些Servlet的功能可能不支持。

1、这里可以去tomcat的官网把tomcat下载好,(https://tomcat.apache.org/download-80.cgi)

2、找到本地下载好的tomcat压缩包,拷贝到Linux上就行了,直接拖拽的方式拷贝,因为tomcat可以跨平台,然后在通过

unzip apache-tomcat-8.5.72.zip

即可,如果不能,则需要

yum install unzip

image-20220425174034964

这样就说明安装解压成功了。

接下来就是启动tomcat了,启动tamcat需要进入 bin 目录,在 bin 目录中找到

startup.sh

然后打开就行,在Linux中

.sh

是Linux使用的,在Windows中

.bat

是Windows使用的,但是默认情况下不能直接运行,需要给 .sh 赋予可执行权限,

命令:

chmod +x *.sh

这个命令就是赋予

.sh

可执行权限。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LF9oiQMM-1650964187741)(https://cdn.jsdelivr.net/gh/power152/Image/202204261433198.png)]

这里显示绿色说明后缀是

.sh

的就可以执行了。看前面的权限也可以看出来文件是可执行的。

执行命令:

sh startup.sh
// 或者./startup.sh

这两个命令任意一个都行

image-20220426144640806

看到这里说明已经打开了tomcat,我们去网页上再看看,使用外网 ip 然后端口号输入 8080,出现tomcat欢迎的画面就说明你已经成功打开了tomcat

image-20220426144759536

注意:第一次访问是访问不了的,还需要配置自己云服务器后台,如果是 ECS 服务器配置就是安全组,如果是轻量应用服务器就要配置防火墙,配置里面添加规则,添加一个8080端口就能访问了!!因为在云服务器是在外网上面的,非常的危险,所以云服务器厂商为了报复我们的云服务器,所以就默认把你机器的端口都给屏蔽了,这样黑客在外网上面无法访问你的服务器的各种端口了,要用端口需要自己打开端口才行。

3、安装Mysql

这里通过 yum 的方式来下载,但是安装的不是正版的

Mysql

,而是

MariaDB

,这两个是差不多一样的功能,因为安装

MariaDB

相对正宗的

Mysql

来说要简单一点,正宗的 Mysql 要更复杂,也没必要。

这里推荐一篇帖子,可以按照帖子上面的来,更详细和基础一些:(https://zhuanlan.zhihu.com/p/49046496)

image-20220426160348411

使用:

mysql -uroot

命令的时候,看到如下内容说明就启动服务器成功了。

image-20220426160139920

image-20220426160811327

帖子后面会提示说没有密码不安全需要设置密码,但是这里的结论可以说不太准确,由于我们数据库用的是3306端口,云服务器石灰包3306端口隐藏在安全组/防火墙里面的,黑客访问不了,因此我们可以不用设置密码,然后默认的密码就是 “”,空字符串。

五、部署Web程序

a、构造数据库

之后我们访问的是云服务器里面的东西,所以要保证数据库的表要部署在Linux上面,构造表的操作就是 建表,添加数据…

b、微调本地代码

这里的微调本地代码,是保证的 Servlet 代码能够连上 Linux 的数据库。

image-20220426161428143

c、重新打包

这里的打包可能默认情况下不一定符合我们的需求,打包出来是一个

jar

包,但是我们需要打的包是

war

包,取名字尽量也是要取短一点的名字。所以在 pom.xml 中配置文件代码

image-20220426163025290

当看到target目录下后缀有

.war

包就可以了

image-20220426163129805

d、部署程序

这一步是最简单的了,直接把

war

包拖到 tomcat 的

webapps

的目录下即可。

image-20220426163630050

拖拽完,tamcat就是自动解压缩

image-20220426163932232

最后的最后再检验下可不可以在浏览器中登录成功

image-20220426164422112


这里就是帖子的所有内容了,部署Web程序挤不上都是以上的步骤来进行部署,再来就是介绍了Linux常用的命令,在部署Web程序是一步关键的步骤,如果一个程序不能被其他人访问,那么你的Web程序也就失去了本身的意义🤡🤡🤡🤡🤡🤡觉得博主写的不错就,收藏关注呗❤🧡💛💚💙💜🤎🖤🤍💟,你们支持就是我写博客最大的动力!!!!

标签: java tomcat 服务器

本文转载自: https://blog.csdn.net/qq_54219272/article/details/124432402
版权归原作者 鸢也 所有, 如有侵权,请联系我们删除。

“Linux常用命令 + Web程序部署”的评论:

还没有评论