• JavaEE初阶——Linux(基础指令)


    前言:

           我们这里的 Linux 只介绍指令,会基本操作就行。首先需要知道的是 Linux 是世界上第一大操作系统,后来其开发者觉得已有的代码管理工具,不太方便来管理 Linux 源码,就发明了 git,相比之下,windows是世界第一大桌面操作系统。操作系统主要分为:①、服务器用的操作系统,②、(PC)个人电脑用的操作系统,③、嵌入式设备用的操作系统,④、特殊情况 。除了②都是使用 Linux ,准确的说 Linux 不是一个完整的操作系统,而是一个操作系统内核,Linux 内核 + 各类配套的应用程序——>完整的操作系统(发行版)。其中一个NB的发行版本是 Android。

           作为 java 程序员,在系统开发过程中,一般不需要使用系统原生的 API ,但会涉及到一些和 Linux 相关的部署或者调试的工作,比如做了一个网站,后端就需要部署到服务器上,这里的部署过程就需要 Linux 的操作


    目录:

    1、如何有一个 Linux 系统的环境
    2、终端工具远程登录到服务器
    3、Linux 最常见的命令
    4、核心功能在服务器上部署 javaWeb程序


    一、如何有一个 Linux 系统的环境

    • ①、重装系统安装 Linux 系统,其桌面环境不方便,不适用日常使用
    • ②、可以使用虚拟机
    • ③、云服务(推荐),本质上还是虚拟机,不是本地虚拟机,在人家机房里,最大的区别,云服务器会给你一个外网 IP ,其次云服务器十分稳定,基本没啥坑,不太折腾

    云服务购买选择最便宜的购买,阿里云,腾讯云,华为云…………在装配的过程中需要注意下面的选项的选择:

    在这里插入图片描述

    这里就不过多展示云服务器的购买了,购买存在问题的可以询问你购买服务器的客服解决~~


    二、终端工具远程登录到服务器

           这里我们使用的 xshell,下载地址:xshell下载地址,这里的 xshell 支持 window 系统,其他系统不行

           下载好后,就可以使用 xshell 来进行远程登录,需要下面的三个步骤:

    • ①、外网 IP(买云服务器后的详细信息中有)
    • ②、用户名
    • ③、密码

    主机就是填外网 IP:

    在这里插入图片描述
    在这里插入图片描述

           最后输入密码就成功进入到 xshell 中了,看到如下的界面就是登录成功了:

    在这里插入图片描述


    三、Linux 最常见的命令

    • a、ls ,列出目录中包含的文件和目录,类似于 windows 上双击某个目录,把它打开,看看目录里有啥。此时就把文件罗列出来了,ls [路径],ls / 这里的 / 代表根目录,相当于 windows 的此电脑
      在这里插入图片描述
      ls /:里面包含一些系统文件
      在这里插入图片描述
      ls -l(小写的 l )表示使用列表展示目录中的内容(缩写 ll)

    在这里插入图片描述

    • b、pwd 能告诉咱们当前在哪个目录里,显示出当前目录的所对应的绝对路径,Linux 以 / 开头的就是绝对路径

    在这里插入图片描述

    • c、cd 切换目录,cd 后需要加路径,可以是相对路径,也可以是绝对路径。cd 就相当于鼠标双击目录进行切换
      在这里插入图片描述
      相对路径:…上级路径,/ 为 root 的上级路径
      在这里插入图片描述
      Linux 初始目录结构:

    在这里插入图片描述

    在 Linux 终端中 Ctrl + C 是取消当前操作,如果需要复制使用 Ctrl + insert 粘贴 shift + insert

    • c、touch 创建一个空文件
      在这里插入图片描述
      通过 touch 创建出来的空文件,小细节如果屏幕上内容过多,使用 ctrl + l 进行清屏,如果文件存在,只会更新文件打开时间

    • d、cat 打开文件

    • e、echo 打印内容到控制台,也可用于写文件

    打印内容到控制台:

    在这里插入图片描述

    写文件:
    在这里插入图片描述

    • f、mkdir 创建目录

    在这里插入图片描述

    tree 命令(不是 Linux 自带):需要使用 yum install tree 命令进行安装,yum 相当于应用商店
    在这里插入图片描述

    • g、rn 删除文件 / 目录

    在这里插入图片描述

    在这里插入图片描述

    • h、mv 移动文件,还可以给文件重命名在这里插入图片描述

    在这里插入图片描述

    • I、cp 拷贝文件
      在这里插入图片描述
      在这里插入图片描述
    • K、man 是手册的缩写,man 是查看其他命令的帮助手册,每个命令,其实支持很多参数选项,可以通过 man 查看,直接百度搜索也看一下,查看后按 q 退出

    在这里插入图片描述

    • L、less 查看文件内容(内置了翻页功能)
      在这里插入图片描述

    M、vim 既能读文件,又能编辑文件

    在这里插入图片描述

    ①、使用 vim 创建 / 文件

    在这里插入图片描述
    vim 创建文件:有这个文件就打开,没有此文件进行创建

    ②、vim 编辑文件(在文件里面写个123),可以发现直接写是不行的

    在这里插入图片描述

    这是因为 vim 是为了编辑方便,引入的模式和大量的快捷键,使用 vim 打开文件之后,默认进入的是普通模式,在普通模式下键盘按键不是表示编辑框输入内容,而是特殊含义的快捷键,要想真的能够编辑,就需要先进入插入模式,键盘按键才是输入内容。模式的引入,主要为了引入大量快捷键,如果没有就需要使用组合键来实现,在 vim 中输入小写 i 即可进入插入模式(insert),可以发现就正常输入了

    在这里插入图片描述
    ③、保存退出,不要使用 ctrl + s 进行保存,ctrl + s 不是保存是 xshell 的快捷键:冻结屏幕(解除冻结 ctrl + q,这个功能主要是日志打印太快,冻结住去看),先从插入模式退出到普通模式 Esc,然后输入 :wq(保存并退出)也可以使用 :x,如果文件没改变,:q 退出,:q! 强制退出(不保存)


    四、核心功能在服务器上部署 javaWeb程序

    关于环境搭建,需要在 Linux 上安装一些必要的程序~~

    1、jdk:在 yum 中进行安装 yum list | grep jdk

    在这里插入图片描述

    在这里插入图片描述

    执行如下命令:

    在这里插入图片描述

    安装结束后,输入 javac 观察是不是正常显示出来如下内容:

    在这里插入图片描述
    2、tomcat

    安装 tomcat 在 yum 中版本,版本过低,不适合,所以选择另外一种方式进行安装

    • ①、找到 tomcat 官网 官网链接
    • ②、下载这个安装包在这里插入图片描述 下载好后拖入 xshell,再通过命令在这里插入图片描述 解压缩即可
    • ③、切换到 bin 路径首次执行,加上可执行权限:chmod +x *.sh
    • ④、启动 tomcat :sh startup.sh
    • 小结:在 Linux 配置 tomcat

    那如何查看 tomcat 是否正常工作:ps aux | grep tomcat
    在这里插入图片描述

    也可以查看 tomcat 的端口号:netstat -anp | grep 8080

    在这里插入图片描述
    这里需要配置一下云服务器的防火墙,让 8080 端口可以访问

    在这里插入图片描述

    • 3、mysql

    这里 mysql 的安装比较复杂

    一、安装

    ①、安装 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

    二、更改配置

    ①、更改 /etc/my.cnf.d/client.cnf 文件

    [client] 下加一行配置 default-character-set=utf8

    #
    # These two groups are read by the client library
    # Use it for options that affect all clients, but not the server
    #
    
    
    [client]
    default-character-set = utf8
    
    # This group is not read by mysql client library,
    # If you use the same .cnf file for MySQL and MariaDB,
    # use it for MariaDB-only client options
    [client-mariadb]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    ②、更改 /etc/my.cnf.d/mysql-clients.cnf 文件

    [mysql] 下加一行配置 default-character-set=utf8

    #
    # These groups are read by MariaDB command-line tools
    # Use it for options that affect only one utility
    #
    
    [mysql]
    default-character-set = utf8
    
    [mysql_upgrade]
    
    [mysqladmin]
    
    [mysqlbinlog]
    
    [mysqlcheck]
    
    [mysqldump]
    
    [mysqlimport]
    
    [mysqlshow]
    
    [mysqlslap]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    ③、更改 /etc/my.cnf.d/server.cnf 配置

    [mysqld] 下加配置

    collation-server = utf8_general_ci

    init-connect=‘SET NAMES utf8’

    character-set-server = utf8

    sql-mode = TRADITIONAL

    #
    # These groups are read by MariaDB server.
    # Use it for options that only the server (but not clients) should see
    #
    # See the examples of server my.cnf files in /usr/share/mysql/
    #
    
    # this is read by the standalone daemon and embedded servers
    [server]
    
    # this is only for the mysqld standalone daemon
    [mysqld]
    collation-server = utf8_general_ci
    init-connect = 'SET NAMES utf8'
    character-set-server = utf8
    
    sql-mode = TRADITIONAL
    
    # this is only for embedded server
    [embedded]
    
    # This group is only read by MariaDB-5.5 servers.
    # If you use the same .cnf file for MariaDB of different versions,
    # use this group for options that older servers don't understand
    [mysqld-5.5]
    
    # These two groups are only read by MariaDB servers, not by MySQL.
    # If you use the same .cnf file for MySQL and MariaDB,
    # you can put MariaDB-only options here
    [mariadb]
    
    [mariadb-5.5]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    三、启动

    ①、启动服务:systemctl start mariadb

    ②、设置服务开启自启动:systemctl enable mariadb

    ③、设置服务开启自启动:systemctl enable mariadb

    四、测试连接

    ①、测试连接

    使用命令行客户端尝试连接:mysql -uroot

    见到如下代码界面就算 mysql 成功安装

    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)]>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    综上已经成功安装了 jdk,mysql,tomcat,下面我们就可以去部署 javawb 程序到服务器上

    ①、拿我手里的的 javawb 项目作为部署案例

    首先,我在编写 javawb 项目时,把数据库的代码都单独写在一个 dp.sql 的文件内,这样就是为了方便我们可以在服务器上直接拷贝在服务器的数据库中

    所以我们先需要通过 mysql -uroot 指令来操作服务器的数据库,复制我们本地数据库代码到数据库中,直接复制即可

    在这里插入图片描述

    create database if not exists lx;
    use lx;
    
    drop table if exists blog;
    create table blog(
        blogId int primary key auto_increment,
        title varchar(1024),
        content mediumtext,
        userId int,
        postTime datetime
    );
    
    drop table if exists user;
    create table user(
        userId int primary key auto_increment,
        userName varchar(128) unique,
        password varchar(128)
    );
    
    insert into user values(null,'张三','123');
    insert into user values(null,'李四','123');
    insert into user values(null,'王五','1234');
    
    insert into blog values(null,'这是第一篇博客','从今天开始我要认真学Java',1,now());
    insert into blog values(null,'这是第二篇博客','从明天开始我要认真学Java',1,now());
    insert into blog values(null,'这是第三篇博客','从后天开始我要认真学Java',1,now());
    insert into blog values(null,'这是第一篇博客','从后天开始我要认真学c++',2,now());
    insert into blog values(null,'这是第二篇博客','从昨天开始我要认真学c++',2,now());
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    ②、打包 javawb 项目,这里需要指定一下打包成 war 包,并且指定 war 包的名字,这里名字就是后面访问页面的一级路径(在 pom.xml 修改配置)

    在这里插入图片描述

    ③、然后再点击 package 进行打包

    在这里插入图片描述
    ④、找到这个 war 包把其拷贝到服务器 tomcat 目录下的 webapps 里面(这里记得切换路径)

    在这里插入图片描述

    ⑤、最后通过路径:外网 ip + 8080端口 + war包文件名 + html文件就可以进行访问了(这里就不只本地可以访问,其他人都可以进行访问了)

    在这里插入图片描述

  • 相关阅读:
    GaussDB技术解读系列:高安全之密态等值
    什么野指针(c++)
    用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制AI助手——PPT大纲助手
    shiro授权
    12000字解读瑞幸咖啡:“异军突起”与“绝处逢生”的奥秘
    简单两步,使用 cache 加快极狐GitLab CI/CD 构建速度
    C语言描述数据结构 —— 顺序表
    基于微信小程序+ JAVA后端实现的【微信小程序跑腿平台】设计与实现 (内附设计LW + PPT+ 源码+ 演示视频 下载)
    最小生成树
    Linux setleds命令教程:如何控制键盘LED灯(附实例详解和注意事项)
  • 原文地址:https://blog.csdn.net/baiyang2001/article/details/125439071