Linux 基本使用和程序部署

✏️作者:银河罐头
系列专栏:JavaEE

“种一棵树最好的时间是十年前,其次是现在”

目录

  • Linux 常用命令
    • ls
    • pwd
    • cd
    • touch
    • cat
    • echo
    • vim
    • mkdir
    • rm
    • mv
    • cp
  • 搭建 Java 部署环境
    • yum
    • jdk
    • tomcat
    • mysql
  • 部署 Web 项目到 Linux
    • 数据库建表
    • 微调代码
    • 打包
    • 拷贝到 Tomcat 中

之前写的博客系统程序,只是在本地运行的,只能咱们自己访问,无法被外部用户访问到。要想更科学,就需要把博客系统程序部署到云服务器上,才能被外界访问到。云服务器,通常都是 Linux 系统。

利用学生身份白嫖一个阿里云云服务器。

使用终端软件连接到 服务器。这里终端软件选用 xshell.

Linux 常用命令

ls, pwd, cd 这几个是操作目录的命令。

ls

ls 查看指定目录中都有哪些内容。

还可以给 ls 后面加上一个路径(绝对/相对),就可以查看指定目录中的内容。

image-20230412221251148

/ 是 根目录 的意思。

目录,文件这些内容在机器上,构成了一个 N 叉树结构。/ 是树根结点。

/ 相当于 “此电脑”。

Linux 没有 “盘符” 概念,不分 c 盘,d 盘.

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

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

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

pwd

查看目录当前完整的绝对路径。

Ctrl + L 清屏

万一迷路,可以通过 pwd 查看绝对路径是啥样的。

image-20230402100731631

现在正处于 / 目录下的 root 目录中

pwd 就相当于单击文件资源管理器地址栏

image-20230402100831806

cd

切换目录。

切换当前所在的目录,就相当于 双击某个目录进去。change directory.

image-20230402101207493

… 表示当前目录的上一级目录。

image-20230402101926694

image-20230402102120080

文件相关:
touch 创建空的文件

cat 查看文件内容

echo 写文件

touch

touch 创建空的文件

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

cat

cat 查看文件内容

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

echo

echo 写文件

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

这里的重定向指的的是本来我要输入到控制台,通过"重定向"把它写入到文件里。

命令行中可以通过 向上方向键 找到之前的历史命令。

覆盖操作无法撤回。

image-20230402105049379

vim

vi 和 vim 其实是两个程序,vim 是 vi 的升级版本, 用法差不多。 vim 相当于是 Linux 上默认的记事本。 vim 用起来比记事本麻烦一些。

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

vim 文件名,打开了文件。

怎么退出?
此时光标会来到最下面一行。

q

再回车,就退出了。

image-20230402111506493

w 是 write 保存

:wq 保存并且退出

vim 最关键的概念,模式 (mode)

默认进去,是 普通模式(normal mode)

普通模式下,键盘的大部分按键,都是特定含义的快捷键。

真正进行编辑,则需要进入插入模式(insert mode)

输入小写字母 i ,就能进入插入模式。

image-20230402113734910

左下角提示变成了 insert, 此时在插入模式。(vim 进入插入模式 方法有很多)

按 esc 回到普通模式。(vim 中模式有十几种,都是 按 esc 回到普通模式)

然后 :wq 保存退出即可。

image-20230402114909708

mkdir

make directory 创建目录

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

image-20230402121901930

rm

删除文件/目录

image-20230402122223726

删除目录,可以使用 -r 选项。

  • rm -rf/

递归的删除根目录

r 递归

f 不确认,强制删除(没有反悔机会)

image-20230402122605304

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

mv

move 移动 = 剪切 + 粘贴

mv 源 目标

mv 不光能够移动文件位置,还能给文件改名字。

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

cp

copy 复制 = 复制 + 粘贴

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

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

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

grep 字符串查找

ps 查看进程

netstat 查看网络信息

搭建 Java 部署环境

学这些命令,目标是为了 部署,,把我们写的 Java web 程序 部署到 Linux 上.

需要先把对应的依赖的软件 (环境)搭建好。

安装一些必要的软件程序

1.jdk

2.tomcat

3.mysql

yum

jdk 直接使用包管理器进行安装(基于 yum 安装)

yum list|grep [关键词] 找到要安装的包名

yum install [包名] 进行安装

jdk

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

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

image-20230402143527430

安装的时候需要管理员权限。

image-20230402143638881

输入一下 javac 看是否报错。

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

tomcat

image-20230402144225861

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

用 8 系列的,需要手动安装 tomcat

image-20230402144910510

从官网下载的 .zip 压缩包,上传到 Linux 上就可以使用了。直接把 .zip 拖拽到 xshell 中即可

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

如果发现页面不动

image-20230402145522060

image-20230402150011999

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

进入 bin 目录,需要使用 chmod +x *.sh 给所有的 .sh 文件赋予可执行权限

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

然后这里所有的 .sh 文件就都绿了。

然后 sh startup.sh 就启动 tomcat

mysql

CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)

可以参考这篇文章。

部署 Web 项目到 Linux

数据库建表

在 云服务器的 mysql 中建库建表。

把之前写好的 db.sql 的内容复制粘贴到 云服务器 mysql 客户端中,直接执行即可。

使用 mysql -uroot 命令打开数据库客户端。如果要退出,按 ctrl + d即可。

微调代码

本地的数据库,端口号、用户名、密码 和云服务器的数据库,可能是不同的。

本地的数据库是安装的时候设置了密码,云服务器的数据库默认是没有密码的。

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

注意把 DBUtil 里面 的密码和端口改一下,能够和云服务器里数据库的一致。

对pom.xml进行微调:

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

打包

使用 maven 打成一个 war 包。

image-20230402163900464

拷贝到 Tomcat 中

把 war 包拷贝到云服务器上 的 webapps 目录即可

本地能够正确运行,部署到云服务器上不一定能正确运行。

进行部署操作,把上述 war 包进行拷贝。

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

要记得启动 tomcat 服务器。

image-20230402164431012

可以使用 netstat 验证 tomcat 启动成功与否。

image-20230402164639393

tomcat 启动需要 8080 和 8005

image-20230402214257999

可以使用 ps aux 命令 查看所有进程详细信息,搭配 grep 就可以定位到指定进程了。

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

发现部署了之后,程序还是不能访问。这种亲狂要么是服务器没有启动(netstat 验证),要么是服务器的防火墙/安全组没有正确打开(默认情况下服务器的 22 端口(ssh)是可以对外访问的,要想让其他端口也能被外界访问到,就需要手动放开)。

我这里使用的是阿里云的 ECS 云服务器,所以去调整下安全组的设置。

添加安全组规则:https://help.aliyun.com/document_detail/25471.htm?spm=a2c4g.25434.0.0.3ac422eclqAN1V#concept-sm5-2wz-xdb

image-20230412214352566

再次访问大功告成!!

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