Linux 基本使用和程序部署

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

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


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

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

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

Linux 常用命令

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

ls

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

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

image-20230412221251148

/ 是 根目录 的意思。

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

/ 相当于 “此电脑”。

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

image-20230401213514536

image-20230402100344621

image-20230402100323168

pwd

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

Ctrl + L 清屏

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

image-20230402100731631

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

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

image-20230402100831806

cd

切换目录。

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

image-20230402101207493

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

image-20230402101926694

image-20230402102120080

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

cat 查看文件内容

echo 写文件

touch

touch 创建空的文件

image-20230402103751453

cat

cat 查看文件内容

image-20230402103817230

echo

echo 写文件

image-20230402104804031

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

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

覆盖操作无法撤回。

image-20230402105049379

vim

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

image-20230402105602996

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 创建目录

image-20230402121849473

image-20230402121901930

rm

删除文件/目录

image-20230402122223726

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

  • rm -rf/

递归的删除根目录

r 递归

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

image-20230402122605304

image-20230402122953438

mv

move 移动 = 剪切 + 粘贴

mv 源 目标

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

image-20230402124158596

cp

copy 复制 = 复制 + 粘贴

image-20230402124455408

image-20230402124626437

image-20230402125025450

grep 字符串查找

ps 查看进程

netstat 查看网络信息

搭建 Java 部署环境

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

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

安装一些必要的软件程序

1.jdk

2.tomcat

3.mysql

yum

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

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

yum install [包名] 进行安装

jdk

image-20230402142946336

image-20230402143349256

image-20230402143527430

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

image-20230402143638881

输入一下 javac 看是否报错。

image-20230402143757234

tomcat

image-20230402144225861

image-20230402144210044

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

image-20230402144910510

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

image-20230402145205439

如果发现页面不动

image-20230402145522060

image-20230402150011999

image-20230402150822393

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

image-20230402150751885

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

然后 sh startup.sh 就启动 tomcat

mysql

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

可以参考这篇文章。

部署 Web 项目到 Linux

数据库建表

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

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

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

微调代码

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

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

image-20230402162856297

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

对pom.xml进行微调:

image-20230402163723321

打包

使用 maven 打成一个 war 包。

image-20230402163900464

拷贝到 Tomcat 中

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

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

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

image-20230402164212289

要记得启动 tomcat 服务器。

image-20230402164431012

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

image-20230402164639393

tomcat 启动需要 8080 和 8005

image-20230402214257999

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

image-20230412212059815

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

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

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

image-20230412214352566

image-20230412214432031

再次访问大功告成!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值