Linux 基本使用和程序部署

news2025/1/18 21:12:09

✏️作者:银河罐头
📋系列专栏: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 盘.

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

再次访问大功告成!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

万亿氢能赛道上,谁在发挥“关键力量”?谁在扮演“关键先生”?

NBA比赛中,在急速变化的时刻要想赢得胜利,需要有一股“关键力量”。 这股“力量”一方面能够组织好队员之间的协同,更加灵活和精准地推进战术,另一方面能够击中对方防守的痛点,投入制胜一球。这种“关键力量”通常是由…

BTP 使用SPA开发工作流

1、前言 目前SAP ABAP 工作流比较难用,BTP上的工作流比较简单便捷。 BTP上面有两款服务可以执行工作流,一种是workflow management 配合Business Rules Services简称BRS,还有一种是接下来会介绍的SP Bulide Process Automation 简称SBPA。 …

【linux】Ubuntu aarch64编译安装RXTX进行串口通信

目录1.下载RXTX2.源码下载方式一:方式二:3. 编译源码4.编译源码时遇到的问题问题1:./configure command not found问题2:error: UTS_RELEASE undeclared问题3:libtool: install: armv6l-unknown-linux-gnu/librxtxRS48…

Manjaro安装及配置

官方镜像 官方镜像地址:https://manjaro.org/download/ 镜像选择 镜像选择:PLASMA、XFCE、GNOME 按电脑性能:PLASMA>GNOME>XFCE(老旧电脑可以运行) 启动U盘刻录 推荐使用rufus(win10平台,dd模式&#xff09…

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课,所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节: 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡,有一条河穿过,河上有两个小岛,有七座桥把两个岛与河岸联系…

万字长文:C语言实践小练习汇总指南!

万字长文:C语言实践小练习汇总指南!0.说在前面1.i与i总结1.1 i与i1.2 区别总结:2.大小写转化3.交换字符串3.1 使用传字符串地址3.2 使用strcpy函数3.3 自写字符串交换函数3.4 同3.3自写函数4.字符串中单词4.1 统计字符串中单词个数4.2 最长单词及位置5.字…

注册页面小案例

运行截图&#xff1a; 知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name&…

SwinTrack: A Simple and Strong Baseline for Transformer Tracking(NIPS2022)

SwinTrack摘要介绍相关工作方法实验摘要 近期&#xff0c;Transformer在视觉跟踪方面进行了深入探索&#xff0c;并展示了显著的潜力。然而&#xff0c;现有的基于Transformer的跟踪器主要将Transformer用于融合和增强由卷积神经网络提取的特征&#xff0c;Transformer在表征学…

另一种迁移xxl-job任务的方法,适合不满足数据迁移条件

以为多个项目组同时使用一个xxl-job&#xff0c;同时涉及到版本提升&#xff0c;由此不太满足数据库数据迁移&#xff0c;所以这里提供另一种解决办法 使用工具&#xff1a;postman,json转excel&#xff0c;excel 核心&#xff1a;excel拼接&#xff1a; 1.使用f12抓取xxl任务访…

什么是 SMART 并如何使用这个方法取得新的成就

SMART原则也许大家并不陌生&#xff0c;很多企业常常采用以激励员工更加高效的工作&#xff0c;或是被一些企业广泛采用&#xff0c;制定并实施绩效考核方案&#xff0c;SMART原则属于目标管理的范畴&#xff0c;最早是管理大师彼得德鲁克在著作中提出的。 ONLYOFFICE ONLYOFFI…

Nginx快速上手

Nginx快速上手 OVERVIEWNginx快速上手一、基本概念1.Nginx初步认识2.正向/反向代理&#xff08;1&#xff09;正向代理&#xff08;2&#xff09;反向代理二、Nginx 安装和配置1.安装2.Nginx指令3.Nginx配置三、Nginx的使用1.Web服务器&#xff08;1&#xff09;静态网页存储目…

Java对日开发成趋势?网友:找工作打开了新思路

近两年行业环境起起伏伏&#xff0c;企业降本增效&#xff0c;提高人才招聘的门槛&#xff0c;导致大家找工作时觉得越来越难&#xff0c;尤其是Java开发&#xff0c;主打的就是一个“卷”&#xff01; 不过行业变革&#xff0c;挑战与机遇并存。Java作为编程语言排行榜的常年第…

Java8 判空新写法(Optional方式)

1 引言 在文章的开头&#xff0c;先说下NPE问题&#xff0c;NPE问题就是&#xff0c;我们在开发中经常碰到的NullPointerException.假设我们有两个类&#xff0c;他们的UML类图如下图所示 在这种情况下&#xff0c;有如下代码 user.getAddress().getProvince();这种写法&…

计算机网络 实验四

⭐计网实验专栏&#xff0c;欢迎订阅与关注&#xff01; ★观前提示&#xff1a;本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求&#xff0c;因此以下内容建议仅做思路参考。 一、实验目的 理解ARP协议的工作原理掌握ARP、ICMP 处理过程 二、实验内容 利用网络…

BearPi环境搭建及基本使用

这是一篇总结&#xff0c;一些坑的记录 具体教程请访问&#xff1a; BearPi-HM_Nano: 小熊派BearPi-HM Nano开发板基于HarmonyOS的源码 - Gitee.com 第一步&#xff1a;安装虚拟机 不做赘述 第二步&#xff1a;下载资源 这里要用到ubuntu的一些基础知识&#xff0c;不会的…

HTTP Flood攻击与防御原理

一.引言HTTP Flood攻击DDoS的一种,别称叫做CC攻击(CC是Challenge Collapsar的缩写&#xff0c;而Collapsar是国内一家著名安全公司的DDoS防御设备)&#xff0c;是针对Web服务在第七层协议发起的攻击&#xff0c;重点在于突破前端的cache,通过HTTP头中的字段设置直接到达Web Ser…

精通线程池,看这一篇就够了

一&#xff1a;什么是线程池 当我们运用多线程技术处理任务时&#xff0c;需要不断通过new的方式创建线程,这样频繁创建和销毁线程&#xff0c;会造成cpu消耗过多。那么有没有什么办法避免频繁创建线程呢&#xff1f; 当然有&#xff0c;和我们以前学习过多连接池技术类似&…

安全头响应头(一)Content-Security-Policy

一 Content Security Policy CSP 中文翻译 ① 背景引入 "重点提炼" 1) CSP最初被设计用来减少XSS跨站点脚本攻击,该规范后续版本还可防止其他如点击劫持形式的攻击2) CSP 的实质就是白名单制度[1]、网站开发者明确告诉客户端,哪些外部资源可以加载和执行,等同…

STM32H750ZBT6核心板设计

成品图 注意事项 1、主频无法设置480Mhz,只能最高设置为400Mhz 设置版本号为V版本&#xff0c;即稳定版本即可以设置主频为480Mhz了&#xff0c;不清楚自己的STM32H750是什么版本&#xff0c;可以查看芯片上丝印&#xff0c;ST公司LOGO旁边有个Y/V&#xff0c;即是版本号。 2…

零碎Java

1. 1995年Sun公司开发了java 2009年Oracle收购了Sun公司 其中2004年的java5.0和2014年的java8.0更新力度最大 java特性&#xff1a;第一至今已有20多年了 第二编程语言 第三应用广泛 2. 二进制中逢二进一 11 10 111100 0000万 0000&#xff0c;0000亿 …