当前位置: 首页 > news >正文

【JavaEE】Linux基本使⽤和程序部署

目录

  • 一、LInux环境搭建
  • 二、LInux常见命令
    • 2.1 ls 查看目录
    • 2.2 pwd 显示当前所在目录
    • 2.3 mkdir 创建目录
    • 2.4 cd 进入目录
    • 2.5 touch 创建文件
    • 2.6 rm 删除目录
    • 2.7 rz 上传文件
    • 2.8 sz 下载文件
    • 2.9 查看内容
      • 2.9.1 cat 查看文件全部内容
      • 2.9.2 more 按页查内容
      • 2.9.3 less 查看
      • 2.9.4 head 查看前 n 行
      • 2.9.5 tail查看末尾 n 行
    • 2.10 vim 编辑文件内容
    • 2.11 grep 查找指定字符串
    • 2.12 ps 查看当前系统的进程
    • 2.13 netstat 查看系统上的⽹络状态
    • 2.14 mv 复制文件
  • 三、Linux ⽬录结构
  • 四、搭建 java 环境
    • 4.1 apt
    • 4.2 安装JDK
    • 4.3 安装MySQL
  • 五、手工部署 Web 项目到 Linux
    • 5.1 多平台文件配置
    • 5.2 项目打包
    • 5.3 上传 jar 包并运行
    • 5.4 杀掉进程

一、LInux环境搭建

可以装LInux系统,可以使用虚拟机,还可以使用云服务器。
这里使用云服务器搭建。

  • 直接在网上弄个云服务器,选操作系统/镜像选择 Ubuntu 的
  • 记得自己的ip地址,用户名,密码
  • 使用终端软件链接LInux,我用xshell

XShell 下的复制粘贴:

  • 复制: ctrl + insert (有些需要配合 fn 来按)
  • 粘贴: shift + insert

二、LInux常见命令

2.1 ls 查看目录

语法: ls [选项] [⽬录或⽂件]
功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常⽤选项:

  • -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
  • -d 将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls ‒d 指定⽬录
  • -k 以 k 字节的形式表⽰⽂件的⼤⼩。ls ‒alk 指定⽂件
  • -l 列出⽂件的详细信息。
  • -r 对⽬录反向排序。
  • -t 以时间排序。
  • -R 列出所有⼦⽬录下的⽂件。(递归)

2.2 pwd 显示当前所在目录

语法: pwd
功能:显⽰⽤⼾当前所在的⽬录

2.3 mkdir 创建目录

语法:mkdir [选项] dirname...
功能:在当前⽬录下创建⼀个名为 “dirname”的⽬录
常⽤选项:

  • -p, --parents 可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录

2.4 cd 进入目录

Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件。
语法: cd ⽬录名
功能: 改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下。

cd .. 回到上一级目录

cd ~ 回到最高一级目录
当我们使用要进入一个文件的时候,我们输入首字母按 Tab 键可以自动补齐。例如进入java目录,我们输入cd j按下 Tab自动补齐为 cd java

2.5 touch 创建文件

语法: touch [选项]... ⽂件...
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件。

2.6 rm 删除目录

语法:rm [-f-i-r-v] [dirName/dir]
功能:删除⽂件或⽬录
常⽤选项:

  • -f 即使⽂件属性为只读(即写保护),亦直接删除
  • -i删除前逐⼀询问确认
  • -r删除⽬录及其下所有⽂件

2.7 rz 上传文件

语法: rz
功能:上传文件

2.8 sz 下载文件

语法:sz 文件名
功能:下载云服务器上的文件到本地

2.9 查看内容

2.9.1 cat 查看文件全部内容

语法:cat [选项] [⽂件]
功能: 查看⽬标⽂件的全部内容
常⽤选项:

  • -n 对输出的所有⾏编号

2.9.2 more 按页查内容

语法:more [选项] [⽂件]
功能: 按百分比查看⽬标⽂件的内容,Ctrl + c退出

2.9.3 less 查看

语法:less [选项] [⽂件]
功能: 按百分比查看⽬标⽂件的内容,:q 退出

2.9.4 head 查看前 n 行

语法:head [选项] [⽂件]
功能: 按百分比查看⽬标⽂件的内容,Ctrl+c退出

2.9.5 tail查看末尾 n 行

语法:tail [选项] [⽂件]
功能: 按百分比查看⽬标⽂件的内容,Ctrl+c退出

2.10 vim 编辑文件内容

vim 是⼀个知名的⽂本编辑器。使⽤ vim 可以进⾏⽂本编辑了。
vim 就相当于 Windows 的记事本。只不过功能⽐记事本强⼤⼀些。

  1. 创建⽂件/打开⽂件
    1.1. 语法: vim [⽂件名]
  2. i 进⼊插⼊模式

    vim 打开⽂件后默认是普通模式。普通模式下键盘的按键表⽰⼀些特殊功能的快捷键。(例如按下 j 并不是输⼊字⺟ “j” , ⽽是表⽰光标往下移动⼀⾏)。需要按 i 进⼊插⼊模式才能进⾏⽂本编辑。(左下⻆提⽰ --INSERT-- ) 然后就可以像记事本⼀样正常编辑了。
  3. 保存
    在插⼊模式下不能保存⽂件, 需要先回到 普通模式。按下 Esc 回到普通模式。在普通模式下输⼊ :w , 再按下回⻋,即可保存⽂件。
  4. 退出
    在插⼊模式下不能退出,需要先回到 普通模式。
    退出时,分以下情况:
    ①⽂件未修改:输⼊ :q ,再按下回⻋,即可退出
    ②⽂件修改并保存: 使⽤ :wq 同时执⾏保存和退出.
    ③⽂件修改, 但不希望保存: 使⽤ :wq! 进⾏强制退出

操作命令(可组合使用):

  • :w,保存
  • :q,退出
  • :q!,强制退出

2.11 grep 查找指定字符串

语法:grep [参数]... [⽂件]...
功能:⽤于查找⽂件中是否包含指定字符串, 并显⽰对应的⾏。
选项:

  • -n<⾏数> 显⽰的⾏数
  • -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, ⽽不仅仅是⼀个单词的⼀部分.
  • -r 递归查找. 可以搜索多级⽬录下的所有⽂件.
  • –color ⾼亮查找到的结果
  • –include 指定查找某些⽂件
  • –exclude 指定排除某些⽂件

2.12 ps 查看当前系统的进程

语法:ps [参数]...
功能:⽤于查看当前系统上运⾏的进程
选项:

  • a 显⽰⼀个终端的所有进程
  • u 以⽤⼾为主的格式来显⽰程序状况
  • x 显⽰所有程序,不⽌是会话中的进程
  • e 显⽰所有进程,包括系统守护进程
  • f 显⽰完整格式输出

ps aux # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"

2.13 netstat 查看系统上的⽹络状态

语法:netstat [参数]...
功能:查看系统上的⽹络状态。
选项:

  • -a 显⽰所有正在或不在侦听的套接字
  • -n 显⽰数字形式地址⽽不是去解析主机、端⼝或⽤⼾名
  • -p 显⽰套接字所属进程的PID和名称
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端⼝号"

2.14 mv 复制文件

语法: mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:

  1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移
    ⾄⼀个新的⽬录中。
  2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬
    录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源
    ⽂件均移⾄⽬标⽬录中。

常⽤选项

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

三、Linux ⽬录结构

Linux 是⼀个树形⽬录结构。

⼏个特殊的⽬录:

  • / 称为根⽬录
  • . 称为当前⽬录
  • .. 称为当前⽬录的上级⽬录

绝对路径 vs 相对路径

  • 形如: /usr/share/tomcat/logs/ 以根⽬录开头的,称为绝对路径
  • 形如: ./logs 以 . 或者 .. 开头的,称为相对路径
  • 使⽤ tab 键补全: 我们敲的所有的 Linux 命令,都可以使⽤ tab 键来尝试补全,加快效率
  • 使⽤ ctrl + c 重新输⼊:如果命令或者⽬录敲错了,可以 ctrl + c 取消当前的命令,还有常见结束命令:q:q!exit

四、搭建 java 环境

4.1 apt

apt 就相当于应用商店,只不过是在Ubuntu、Debian和相关Linux发⾏版上安装、更新、删除和管理deb软件包。
⼤多数apt命令必须以具有sudo权限的⽤⼾⾝份运⾏。

常用命令:

  1. 列出所有软件包apt list,可以使用grep筛选apt list | grep " "

  2. 更新软件包数据库 sudo apt-get update

  3. 安装软件包sudo apt install package_name

  4. 移除软件包sudo apt remove package_name
    remove命令将卸载给定的软件包,但可能会留下⼀些配置⽂件。如果要删除包含所有配置⽂件的软件包,请使⽤purge⽽不是remove

4.2 安装JDK

#查找jdk包
apt list |grep "jdk"
#安装jdk
sudo apt install openjdk-17-jdk


使⽤ java -version 验证是否安装成功。
如果提⽰ “java 命令找不到” 则说明安装失败。

如果安装出错:
卸载OpenJDK

检查安装的是哪个OpenJDK
# dpkg --list | grep -i jdk
移除 openjdk包:
# apt-get purge openjdk*
卸载 OpenJDK 相关包:
# apt-get purge icedtea-* openjdk-*
检查所有 OpenJDK包是否都已卸载完毕:
# dpkg --list | grep -i jdk

4.3 安装MySQL

  1. 使⽤apt安装MySQL
#查找安装包
apt list |grep "mysql-server"
#安装mysql
sudo apt install mysql-server

  1. 查看MySQL状态 sudo systemctl status mysql
  2. MySQL 安装安全设置
    默认的 MySQL 设置是不安全的, MySQL 安装提供了⼀个安全脚本, ⽤于解决不太安全的默认选项.
    运⾏以下命令:sudo mysql_secure_installation
    按照下面输入:





  3. 设置密码
    连接mysql服务器 sudo mysql
    使⽤alter user 命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ' ';

如果出错了:
卸载MYSQL

#停⽌mysql
sudo systemctl stop mysql
#卸载mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
#删除 MySQL 配置⽂件和数据
sudo rm -rf /etc/mysql /var/lib/mysql
#清理残留⽂件和⽬录
sudo apt-get autoremove
sudo apt-get autoclean
#验证卸载结果
mysql --version

五、手工部署 Web 项目到 Linux

我们做项目一般有三个环境:

  1. 开发环境 dev
  2. 测试环境 test
  3. 生产环境 prod

5.1 多平台文件配置

在开发时候,我们开发环境与生产环境配置一般是不一样的。所以我们就要在配置文件中针对不同环境进行配置。
针对不同平台创建不同的配置⽂件,要求名字为application-XXX.yml或者application-XXX.properties。

要想让不同的配置文件生效,就在主配置文件中配置:想用什么就写配置文件名字 - 后面的名字 dev 、 prod

spring:profiles:active: prod

上面的方式也容易出错,我们还可以试用版Maven:
从Maven中读取环境配置变量:

<profiles><profile><id>dev</id><properties><profile.name>dev</profile.name></properties></profile><profile><id>prod</id><activation><activeByDefault>true</activeByDefault></activation><properties><profile.name>prod</profile.name></properties></profile>
</profiles>

修改 application.yml :

spring:profiles:active: @profile.name@

使用上面方法后就可以在Maven中勾选了:

5.2 项目打包

在本地使⽤maven进⾏打包:

  1. 如果Test代码中有与环境配置相关的操作(⽐如数据库相关的操作),打包会失败,点击下图图标1,可以跳过测试
  2. 点击clean->package

之后就可以看见 jar 包

5.3 上传 jar 包并运行

上传 jar 包:
直接拖动打好的jar包到xshell窗⼝即可完成⽂件的上传。

也可以通过命令:

  1. 上传⽂件:sz filename
  2. 下载⽂件:rz
  3. 安装lrzsz: apt-get install lrzsz

运行程序:
nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar &

跟踪日志:tail -f filename

语法说明:

  • nohup : 后台运⾏程序。⽤于在系统后台不挂断地运⾏命令,退出终端不会影响程序的运⾏。
  • 语法格式: nohup Command [ Arg … ] [ & ]
    参数说明:
    • Command:要执⾏的命令。
    • Arg:⼀些参数,可以指定输出⽂件
    • &:让命令在后台执⾏,终端退出后命令仍旧执⾏

开放端⼝号
如果外⽹需要访问该服务,需要先服务器防⽕墙开放对应的端⼝号。

下面是腾讯云的操作:官方文件

  1. 进入防火墙页面:
  2. 创建模版:


5.4 杀掉进程

如果我们需要重启服务,或者重新部署等,都需要先停⽌之前的服务。

  1. 查看当前服务的进程 ps -ef|grep java

  2. 杀掉进程kill -9 PID

http://www.dtcms.com/a/429257.html

相关文章:

  • 景区门户网站建设大数据分析南京家装口碑排名前十
  • 百度网盘怎样做网站全屏网站是什么意思
  • wordpress 深度定制搜索引擎优化的作用
  • 网站优化怎样的校园网站素材
  • 先看网站案例您的网站也可以这么做国外手机设计网站
  • t购物网站开发前景吉林省最新消息今天新增
  • 网站开发软件和工具ide和编辑器哈尔滨手机网站建设价格低
  • lnmp 网站开发总结房产网上查询
  • 浅谈高校网站群的建设森东网站建设
  • 网站地址ip域名查询西宁集团网站建设
  • 网站开发所需的费用帮企业建设网站和维护
  • 短租网站开发全国企业系统网站建设
  • php企业网站开发价格做网站卖赚钱吗
  • 网站开发攻克时间网站改版 权重
  • 手机网站端域名怎样做解析房山 网站建设
  • 网站建设需要使用阿里云吗承包网站开发
  • Salesforce 知识点: Streaming API - 封装好的CometD
  • 【LangChain】P4 LangChain 多轮对话与上下文记忆深度解析
  • seo与网站建设的关联wordpress 留言插件
  • 订阅Apollo摄像头NPP颜色空间转换NVMPI硬编码输出RTSP服务
  • 营销网站设计公司有哪些网上购物都有哪些平台
  • 石家庄住房和城乡建设部网站互动营销平台
  • 站酷网怎么赚钱个人微信公众号
  • 什么网站可以自己做房子设计部署iis网站
  • 成都双语网站开发怎么找到当地的微信推广
  • 电子商务网站建设的方法与流程域名注册腾讯云
  • 腾讯网静态网站建设ppt网站超链接怎么做
  • 使用本地主机做网站富阳建设局网站
  • 基于秘密共享的门限签名
  • 专做宝宝的用品网站模板网站 建设教材