Linux的基本使用和Web程序部署(JavaEE初阶系列18)

目录

前言:

1.Linux

1.1Linux是什么

1.2Linux发行版

1.3Linux环境搭建

1.3.1环境搭建方式

1.3.2使用云服务器

1.4使用终端软件连接到Linux

1.4.1什么是终端软件

1.4.2使用Xshell登录主机

1.5Linux常用的命令

1.5.1ls

1.5.2cd

1.5.3pwd

1.5.4touch

1.5.5cat

1.5.6mkdir

1.5.7rm

1.5.8cp

1.5.9mv

1.5.10man

1.5.11vim

1.5.12grep

1.5.13ps

1.5.14netstat

1.5.15echo

2.部署到云服务器上

2.1准备工作

2.1.1jdk的安装

2.1.2Tomcat的安装

2.1.3mysql的安装

2.2正式部署

2.2.1微调代码

2.2.2建库建表

2.2.3打包部署

2.3.4通过浏览器访问

结束语:


前言:

这节中主要是讲解一下Linux的一些基础知识,以及基础的一些操作,然后再基于Xshell将我们上次的编写的博客系统部署到云服务器上。

1.Linux

1.1Linux是什么

Linux是一个操作系统,他是和Windows是并列的关系。Linux在市场的分额是比Windows多的,它主要是在服务器、嵌入式、移动端等领域。

1.2Linux发行版

Linux准确来说是一个“统称”,或者可以认为是一个“操作系统的内核”,一个完整的系统=操作系统内核+配套的应用程序。于是就有很多的企业或者是组织,基于Linux内核搭配了不同的应用程序,从而诞生了不同的应用程序,从而诞生了不同的“操作系统”。此时就叫“发行版”。发行版有很多如下所示。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第1张图片

在企业中一般使用的是RedHat,但是它是收费的,所以这里我们是使用Centos来给大家演示的。 

1.3Linux环境搭建

1.3.1环境搭建方式

那么如何获取得到一个Linux的环境呢?下面提供了三种方式。

  1. 使用虚拟机软件,但是它不能解决的让咱们的服务器被其他主机访问的问题,在虚拟机上会存在很多bug,经常会出现各种问题,所以这里并不推荐大家使用。
  2. 使用Windows自带的WSL功能,Windows subsystem Linux。这里相比于虚拟机是少了很多问题,但是仍然无法解决部署的问题。
  3. 买一个云服务器。这是我们最好的解决办法。大家可以自己去阿里云或者是腾讯云等去买一个云服务器。这里小编买了一个自己的服务器。后续的演示部署就直接在这个云服务器上了。大家可以点击这里进入购买☞https://cloud.tencent.com/act/campus

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第2张图片

大家要注意在购买的时候要点击CentOS。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第3张图片

1.3.2使用云服务器

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第4张图片

这里会显示一个IP地址,在我们后期让其他用户访问你的网站我们使用的都是这个IP。

此时有了一个云服务器之后我们就有了三个重要的信息:

  • 服务器的IP地址。
  • 服务器的用户名(root)。
  • 服务器的密码(这里需要大家自己重置一下自己的密码)。

1.4使用终端软件连接到Linux

1.4.1什么是终端软件

终端软件是一类工具软件,可以和远程的主机建立网络连接,从而对主机进行一个操作。常见的终端软件有Xshell、Putty、MobaXterm、Iterm2....这里我们使用的是XShell。

1.4.2使用Xshell登录主机

这里我们先来新建一个会话。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第5张图片

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第6张图片

点击连接之后输入用户名和密码就可以看到下面的提示,就是已经连接好了。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第7张图片

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第8张图片

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第9张图片

1.5Linux常用的命令

1.5.1ls

语法:ls [选项][目录或文件]。

功能:对于目录,该命令列出该目录下的所有目录与文件,对于文件,将列出文件名以及其他信息。相当于是双击了某个目录,查看里面的内容。

常用选项:

  • -a:列出目录下的所有文件,包括以.开头的隐含文件。
  • -d:将目录象文件一样显示,而不是显示其下的文件,如:ls -d指定目录。
  • -k:以k字节的形式表示文件的大小。ls -alk指定文件。
  • -l:列出文件的详细信息。
  • -r:对目录反向排序。
  • -t:以时间排序。
  • -R:列出所有子目录下的文件。

代码展示:

其中蓝色的是目录,白色的是普通文件。 

ls 后面跟上具体的目录就可以看到指定目录中的内容了。如下所示:

表示Linux的“根目录”,对标Windows中的“此电脑”。

以下的两个命令ls 和 ls /root都是一样的。因为root用户的home目录就是/root,也就是以root身份登录之后默认所在的目录。

 

使用ls -l  / ll可以看到目录中的详细信息。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第10张图片

1.5.2cd

cd 意思是change directory切换目录。这就相当于是咱们在Windows中双击进入到某一个目录中。

语法:cd 目录名。

功能:改变工作目录,将当前工作目录改变到指定的目录下。

cd后面跟上你要切换的目录的路径(路径可以使用绝对路径,也可以使用相对路径)。

在Linux中绝对路径是以/开头的,相对路径是以./和../开头的,其中./也可以省略。

在cd后面不跟任何东西就会回到home目录。

cd .. 返回上级目录。

cd - 访问最近访问的目录。

1.5.3pwd

语法 : pwd
功能 :显示用户当前所在的目录
pwd主要就是防止用户迷路。不记得自己所在的位置了,此时就可以使用pwd来查看自己的位置。
就像是你在Windows中复制目录的路径一样可以查看到你所在的路径。

1.5.4touch

语法:touch[选项]...文件.

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

使用:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第11张图片

1.5.5cat

语法 cat [ 选项 ] [ 文件 ]
功能 : 查看目标文件的内容
使用:
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第12张图片

1.5.6mkdir

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为“dirname”的目录。就是相当于是Windows中的右键新建目录。

使用:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第13张图片

1.5.7rm

语法 rm [-f-i-r-v] [dirName/dir]
功能 :删除文件或目录
  • rm -f:是指即是文件属性为只读(即写保护),也直接删除,强制删除。
  • rm -i:删除前逐一询问确认。
  • rm -r:删除目录以及旗下的所有文件。
使用:
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第14张图片
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第15张图片

注意:在Linux命令中是没有“回收站”这个概念的。所以删除的时候一定要小心。 

1.5.8cp

语法 cp [ 选项 ] 源文件或目录 目标文件或目录
功能 : 复制文件或目录
说明 : cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在 的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的 目的地并非一个已存在的目录,则会出现错误信息。
  • -f 或 --force强行复制文件或者是目录,不论目的文件或目录是否已经存在。
  • -i 或 --intercative覆盖文件之前先询问用户。
  • -r 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。
使用:
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第16张图片
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第17张图片

1.5.9mv

语法 : mv [ 选项 ] 源文件或目录 目标文件或目录
功能 :
  • mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  • 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

  • -f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
  • -i:若目标文件已经存在时,就不会询问是否覆盖。

使用:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第18张图片

1.5.10man

Linux 的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法 : man [ 选项 ] 命令
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第19张图片

1.5.11vim

vim是一个知名的文本编辑器,前面学的cat等命令只能查看文本,不能编辑文本,使用vim就可以进行编辑了。

使用如下所示:
①打开文件。

vim 文件名/文件路径。

②编辑文档。

点击i之后就会进入到编辑模式,vim是一个有特色的程序,为了追求效率就会大量引入快捷键。vim默认模式是处于normal mode普通模式。此时我们就需要切换到insert mode(插入模式)此时键盘按键才可以输入文本。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第20张图片

③保存退出。

先来使用esc回到普通模式。然后在输入:wq,最后按回车,即可保存退出。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第21张图片

注意:这里的保存不可以点击Ctrl + s,这在Linux中是冻结画面,如果冻结之后我们可以使用Ctrl+ q来进行解冻,这里使用:w是保存的意思,:q是退出的意思,这里也可以直接一步到位:wq。但是要注意的是这两个单词不可以写反。一定是先保存在退出!!!

然后我们来查看一下刚刚我们插入的数据。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第22张图片

1.5.12grep

语法:grep [参数]...[文件]

功能:用于查找文件中是否指定字符串,并显示对应的行。

选项:

  • -n:显示函数。
  • -w:全字匹配,要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分。
  • -r:递归查找,可以搜索多级目录下的所有文件。
  • --color:高亮查到的结果。
  • --include:指定查找某些文件。
  • --exclude:指定排除某些文件。

使用:
Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第23张图片

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第24张图片

1.5.13ps

语法:ps [参数]

功能:用于查看当前系统上运行的进程。

选项:

  • a:显示一个终端的所有进程。
  • u:以用户为主的格式来显示程序状况。
  • x:显示所有程序,不以终端机来区分。

使用:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第25张图片

这里也可以配合grep来使用。

这里我们使用的 | 是一个管道,用来连接两个命令,前一个命令输出,作为后一个命令的输入。 

1.5.14netstat

语法: netstat [ 参数 ]...
功能 :查看系统上的网络状态 .
选项:
  • -a:显示所有正在或不在侦听的套接字。
  • -n:显示数字形式地址而不是去解析主机、端口或用户名。
  • -p:显示套接字所属进程的PID和名称

使用:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第26张图片

1.5.15echo

echo命令用来写文件,下面我们来将“hello world”写入到上面创建的test文件中。

注意:echo和cat操作只针对与简单的文件进行操作,如果文件太复杂或者是编辑的需求太复杂,就不太适合了。

2.部署到云服务器上

2.1准备工作

2.1.1jdk的安装

首先使用Linux中的“包管理器”来进行安装,这里的“包管理器”就当相当于是手机上的应用商城,当然Linux的包管理器有很多yum、apt、pacman...这里我们使用的是yum,它是centOS中自带的。

关于yum的基本指令:

  • yum list :查看当前的软件包。
  • yum install:安装指定的软件包。

这里我们搭配管道和grep来进行查询,选择下面的这个。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第27张图片

然后进行安装:

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第28张图片

注意:

  • 在Linux中的复制是Ctrl+insert,粘贴是shift + insert。 
  • 保证当前用户是root。
  • 保证网络状态良好。
  • 安装的时候会出现一个提示,直接按y即就可以了。

2.1.2Tomcat的安装

①将下载好的zip安装包,给上传到Linux服务器上。由于Tomcat是一个跨平台的,所以同一个zip既可以在Windows上使用,也可以在Linux上使用。这里小编之前在博客系统安装Tomcat的时候就已经下载好了,就直接使用了。不会的同学可以先去看看项目中的博客系统后端。

这里就直接将压缩包拖入到Xshell中就可以了。如果不行的话就需要先执行一下yum install lrasz。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第29张图片

②然后针对压缩包解压。使用unzip或者是yum install unzip进行解压。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第30张图片

③把Tomcat的启动脚本加上可执行权限。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第31张图片

进入到bin目录下,可以看到后缀为.sh的就是给Linux的启动脚本,它默认情况下是没有可执行权限的,需要先赋予它权限。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第32张图片使用chmod +x *.sh就可以给他们赋予权限了。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第33张图片

④接下来就可以启动Tomcat了。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第34张图片

一般Tomcat在启动的时候会自动配好相关的环境变量。

此时检查Tomcat的运行状态。

或者直接在外网上面访问Tomcat的欢迎页面。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第35张图片

如果访问不到的话就先检查一下看自己的云服务器中的防火墙中的8080端口是否打开。如果没有打开就按照下面的操作将其打开。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第36张图片 

2.1.3mysql的安装

此处我是使用yum来进行安装。

注意:以下操作都是以root用户进行操作的!!!

安装:

①安装 mariadb 服务

# yum install -y mariadb-server

②安装 mariadb 命令行客户端

# yum install -y mariadb

③安装 mariadb C library

# yum install -y mariadb-libs

④安装 mariadb 开发包

# yum install -y mariadb-devel

启动:

①启动服务

# systemctl start mariadb

②设置服务开启自启动

# systemctl enable mariadb

查看服务状态:

# systemctl status mariadb

测试连接

①使用命令行客户端尝试连接

# mysql -uroot

②可能的输出为

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

③查看 mariadb 版本号

MariaDB [(none)]> select version();
+----------------+
| version()      |
+----------------+
| 5.5.60-MariaDB |
+----------------+
1 row in set (0.01 sec)

④创建数据库时为了支持中文,统一使用 utf8mb4 字符集

MariaDB [(none)]> create database demo_db charset utf8mb4;

⑤执行完上面的之后输入SQL语句就可以了。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第37张图片

2.2正式部署

2.2.1微调代码

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第38张图片

根据自己的实际情况进行微调。 没有密码就直接写空字符串即可。

2.2.2建库建表

这里我们直接将之前写好的db.sql语句输入进行建库建表。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第39张图片

2.2.3打包部署

先来配置一下要打包的属性。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第40张图片

然后点击maven中的package进行打包。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第41张图片 

退出mysql客户端,通过Ctrl + d。然后打开刚才打好的war包,将其拖入到下面的目录中。

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第42张图片

Linux的基本使用和Web程序部署(JavaEE初阶系列18)_第43张图片

2.3.4通过浏览器访问

此时我们就可以通过服务器输入地址就可以访问了。

结束语:

好了这节小编就给大分享到这里啦,希望这节对大家有关于项目的部署有一定帮助,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)博客系统的整体项目的部署我上传至我的码云Gitee中了,有需要的同学可以点击这里哦☞https://gitee.com/YAUGAOLELE/project

博客系统的前端编写:http://t.csdn.cn/18iDm

博客系统的后端编写:http://t.csdn.cn/DJJWP

你可能感兴趣的:(项目,JavaEE初阶,linux,运维,服务器)