• Linux基本使用和web程序部署


    目录

    Linux

    Linux的概念

    Linux的主要运用领域 

    Linux环境搭建 

    使用云服务器 

    终端软件 

    Linux中不同文件有不同的颜色

    认识Linux里面的命令提示符 

    Linux的常用命令 

    ctrl+l 

    ls

    pwd 

    Linux的目录结构 

    cd 

    绝对路径和相对路径 

    tab 

    ctrl+c

    touch

    echo 

    cat 

    mkdir 

    查看Linux中文件树结构 

    rm 

    cp 

    mv

    man 

    查看文件内容的三个命令 

    less 

    head 

    tail 

    vim 

    1.创建文件/打开文件:vim [文件名] 

    2.进入编辑插入模式 

    3.保存 

    4.退出 

    ps 

    netstat 

    网站部署 

    yum 

    下载JDK到Linux 

    下载Tomcat到Linux 

    下载MySQL到Linux  

    部署

    1.上传war包到指定的目录(webapps)

    2. 在数据库中,构造好相关的数据


    Linux

    Linux的概念

    Linux和Os、Mac、Windows一样都是操作系统。关于Linux的一些背景可以去百度看一下https://baike.baidu.com/item/Linux/27050?fr=kg_general 

    Linux的主要运用领域 

    • 服务器领域
    • 嵌入式设备
    • 移动端(安卓系统) 

    Linux环境搭建 

    Linux的环境搭建方式有很多,可以直接将Linux安装在物理机上面,可以使用虚拟机搭建Linux,可以使用购买云服务器,然后利用第三方软件来连接云服务器进行Linux操作。

    这里推荐大家最好还是购买云服务器,原因方便省事,价格也便宜。使用前面两种方式只能用来学习Linux的操作,若我们想将自己的web项目部署到外网上面能够让别人访问,只能通过云服务器提供的外网IP才可以。我们写的web项目在自己的电脑上,使用的都是内网IP,别人是无法根据你提供的内网IP来获取到的你的程序,因为不同的局域网内内网IP 可以是相同的,所以只有将项目部署在外网上面别人才能访问。

    比如查看我这台电脑所在的内网IP和外网IP:

    内网IP

    外网IP 

    使用云服务器 

    市面上的云服务器有很多,比如阿里云、腾讯云等。我们直接去网页搜索云服务器就可以了:

    这是腾讯云的URL https://cloud.tencent.com/act/campus (直接在百度上搜 "腾讯云校园计划")  

    可以看到凭学生证就可以享受很大的优惠力度,一年才65元。点击购买的时候他可能弹出让你实名认证的情况,完成实名认证以后再完成学生认证就可以购买了。  

    然后会弹出让你扫码登录的界面,直接登录进去就可以

    登录进去以后找到控制台然后就可以看到你购买的云服务器了:

    在这个过程中若遇到一切不会的都可以询问客服,不得不说他们的执行效率很高,还会打电话给你亲自指导。

    在上面最重要就是服务器的外网IP,服务器的管理员账号,一般默认是root。另一个是管理员密码,这个 初始密码一般在信箱中,然后一定一定要重置密码,不然后面无法登录Linux。

    终端软件 

    终端软件是一类工具软件,可以和远程的主机建立网络连接,从而对主机进行一些网络操作。终端软件有很多,下面主要介绍XShell。

    直接去搜狗点击下载即可:

    安装过程中一路next就行。

    然后打开XShell的页面,在窗口中输入

    ssh 服务器外网IP地址 

    输入正确以后它会弹出一个输入框,让你输入你的账号信息:

    登录用户名一般都是root

    在上面输入你刚才重置的密码

    当输入成功后会弹出welcome的字段:

    Linux中不同文件有不同的颜色

    白色表示是一个普通文件

    蓝色表示目录

    绿色表示可执行文件

    红色表示压缩包 

    认识Linux里面的命令提示符 

    [root@VM-8-15-centos /]像这样的东西在Linux中就称为命令提示符

    执行不同的命令,命令提示符可能不同。

    在命令提示符中@前面是第一部分,这一部分用来显示当前的用户名;

    @后面是第二部分,这一部分是主机名,不同的主机,名字不一样;

    空格后面是第三部分,这一部分表示当前的目录。/表示是根目录,~表示当前用户的家目录

    Linux的常用命令 

    这里先讲一下,在XShell中粘贴和复制不再使用ctrl+v、ctrl+c,而是使用ctrl+insert(复制)、shift+insert(粘贴)

    ctrl+l 

    功能:清屏

    ls

    功能:罗列出当前目录中,都包含那些文件,这个操作就像Windouws文件资源管理器一样

    语法:ls [选项] 目录或文件

    示例:

    可以看到在输入ls之后,什么都没有。因为是新买的服务器,上面还没有部署文件,所以啥都没有。

    ls的选项有很多,只讲重要的:

    -a:列出当面目录下面的所有文件,包括以.开头的隐含文件;

    -l:列出文件的详细信息,就是以列表的形式来显示文件。ls -l可以被ll替换。 

    pwd 

    功能:显示当前用户所在的目录

    语法:pwd

    Linux的目录结构 

    几个特殊的目录:

    • /称为根目录
    • .称为当前目录
    • ..称为当前目录的上级目录
    • root目录是一个用户登录到这个主机的默认目录 

    cd 

    功能:改变工作目录,将当前工作目录改变到指定的目录下面

    语法:cd 目录名

    绝对路径和相对路径 

    cd后面的路径可以是绝对路径,也可以是相对路径。

    绝对路径就是从盘符开始的路径。在Linux中以/开始的路径就是绝对路径,比如:/home 

    以./或../表示相对路径,.表示当前路径,..表示当前路径的上级路径。相对路径都有一个基准路径(工作目录),在Linux中,当前所在的位置,就是工作目录,比如:

    上面第一个方框里面,当前路径是/,写相对路径的时候,就是以/为基准。第二个方框里面,此时的路径就是/usr,在写相对路径的时候,就是以/usr为基准。

    例如现在改变工作目录到/usr/bin,写成先对路径就是:

    cd ./bin

    cd中的常用命令:

    • cd ..:返回上级目录
    • cd ~:进入用户家目录
    • cd -:返回最近访问的目录

    tab 

    功能:使用tab键来尝试补全命令,加快效率

    ctrl+c

    功能:重写输入(当前目录敲错了,可以用ctrl+c来取消当前的命令) 

    touch

    功能:可以根据参数更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

    语法:touch [选项] ...文件...

    echo 

    功能:写文件 

    向test.txt文件中写入hello:

    cat 

    功能:查看目标文件的内容

    语法:cat [选项] [文件]

    mkdir 

    功能:创建一个目录

    语法:mkdir [选项] 目录名

    常用选项:

    -p表示创建一个路径名称,若此时路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,也就是一次可以建立多级目录。

    例如创建一个Test目录:

    查看Linux中文件树结构 

    命令:tree

    首先在Test目录下面在创建两个目录,两个目录下面分别创建两个子文件:

    rm 

    功能:删除文件或目录

    语法:rm [选项] 目录名称/文件名称

    常用选项:

    -f:即使文件属性为只读,也会直接删除

    -i:删除前逐一确认

    -r:删除目录和目录下面的所有文件(-r表示递归)

     例如删除test.txt文件和Test目录:

    注意:rm -r/这个相当于将电脑的系统删除,所以千万不要尝试 。还有在删除目录的时候一定要仔细观察,比如:若想删除/目录下面的games目录,你如果写成rm -r / games的话就非常危险,因为这会将/目录也删掉了,注意/games之间没有空格。 

    cp 

    功能:复制文件或目录

    语法:cp [选项] 要复制的文件/目录 要复制到哪里

    该功能可以将多个文件或目录复制到目的目录中,目的目录不存在,则会报错。

    常见的选项:

    -f:表示强行复制文件或目录,不论目的文件或目录是否已经存在

    -i:覆盖文件之前先询问用户

    -r:递归处理,将指定目录下的文件与子目录一起处理。

    例如将上面的FristFile目录复制到SecondFile目录下面:

    例如:将FristFile目录复制到ThreeFile目录下面,这里没有ThreeFile目录就会创建该目录:

    在FristFile目录下面的text1.txt文件中写入hello linux,并将该文件覆盖到text2.txt文件中:

    mv

    功能:移动或者重命名文件/目录

    语法:mv [选项] 被移动的文件/目录 移动到哪里

    常用的选项:

    -f:如果目标文件已经存在,不会询问而是直接覆盖

    -i:若目标文件已经存在,就会询问是否覆盖 

    例如先在Test目录下面创建一个FourFile目录,然后将SecondFile目录下面的FristFile 目录移动到FourFile目录下面:

    man 

    功能:查看Linux中的命令 

    语法:man [选项] 命令

    常用选项:

    -k:根据关键字搜索联机帮助

    num:只在第num章节中找

    man:man表示能够看到man手册中的若干个章节及其含义

    例如查看cp命令:

    查看文件内容的三个命令 

    less 

    功能:将文件中的内容展示在屏幕上面,但是不是全部展示,看多少展示多少

    语法:less [参数] 文件

    常用参数:

    j或者k或者方向键:表示向上向下滚动屏幕;

    -N:显示或隐藏每行的行号;

    q:退出

    例如在/etc目录下面找一个大文件services来观察:

    他这里只展示了屏幕大小的行数,若想要向上向下查看,就需要用到j或者k或者方向键;

    head 

    功能:查看文件的开头

    语法:head [参数] 文件

    常见的参数:

    -n:显示行数

    例如查看/etc/services文件的前10行:

    tail 

    功能:查看文件的末尾

    语法:tail [必要的参数] 文件

    常见的参数:

    -f:循环读取

    -n:显示行数

    例如/etc/services文件的后10行:

    vim 

    Linux中的vim是一个文本编辑器,既能读也能写,它就像Windows中的记事本,但是它也可以作为一个代码开发工具,它可以支持很多插件。

    作为Java程序猿来说,只需要能够使用vim在服务器上进行一个简单的文件操作编辑就行了。

    用法:

    1.创建文件/打开文件:vim [文件名] 

    在/目录下面创建一个TextFile.txt文件:

    但是还不能编辑,要进入编辑状态才能编辑 

    2.进入编辑插入模式 

    vim打开文件后默认是普通模式,在普通模式下按键表示一些特殊功能的快捷键,例如按下j并不是表示输入字母j,而是表示将光标下移一行。若想编辑文件,需要进入插入模式才能进行文本编辑。

    按i表示进入插入模式的命令 :

    3.保存 

    在插入模式下不能保存文件,需要先回到普通模式,按ESC回到普通模式。然后在普通模式下输入:w,再按回车即可保存文件:

    保存以后的文件他下面的字段会发生改变:

    4.退出 

    同样在插入模式下不能退出,要先回到普通模式后再退出。在普通模式下面输入:q,然后再按回车即可退出:

    上面在编辑完文件后,可以直接按:wq同时执行保存和退出 

    ps 

    功能:查看当前系统上运行的进程

    语法:

    ps aux:显示系统上所有的进程

    ps aux | grep "进程名":根据进程名查询

    ps aux | grep "进程id":根据进程id查询

    查询3306进程id:

    在使用ps的时候,通常会搭配|,|在Linux中叫做管道,功能是把前一个命令的输出作为后一个命令的输入。grep命令相当于一个字符匹配,类似于记事本中的ctrl+f功能。后面跟上的参数就是要查找的关键字。 

    netstat 

    功能:查看系统上网络的状态

    语法:

    netstat -anp:查看系统上的所有的网络连接

    netstat -anp | grep “进程名”:根据进程名查询

    netstat -anp | grep “端口号”:根据端口号查询

      

    网站部署 

    想要部署网站,需要先把依赖的环境搭建好,所需要的环境有:JDK、Tomcat、MySQL

    首先,这些环境在Linux中都不存在,需要使用yum命令可以下载环境到Linux中。

    yum 

    yum是Linux中的一种包管理器,这个管理器就好比“应用商店”,可以下载一些app

    yum的常用命令:

    yum list | grep [软件包关键字]:功能查看软件包列表

    yum install [软件包名字]:功能安装软件包

    yum remove [软件包名字]:功能卸载软件包 

    下载JDK到Linux 

    打开jdk软件包列表:yum list | grep jdk 

    下载java-1.8.0-openjdk-devel.x86_64版本的jdk:yum install java-1.8.0-openjdk-devel.x86_64

    验证jdk:javac

    下载Tomcat到Linux 

    一:去Tomcat官网搜索Tomcat8版本的下载链接:

    在Linux中下载Tomcat:

    上面的wget就是一个下载程序。

     二:解压缩

    因为下载的是zip压缩包,因此需要解压缩,在Linux上通过unzip命令来解压缩:

    unzipe apache-tomcat-8.5.82.zip

    三:查看apache-tomcat-8.5.82的目录结构

    cd apache-tomcat-8.5.82

    四:启动Tomcat

    打开bin目录下面的startup.sh

      

    配置可执行权限:chmod +x *.sh

     验证:




    下载MySQL到Linux  

    关于MySQL的下载安装,可以参考一下文章 https://zhuanlan.zhihu.com/p/49046496

    部署

    部署分成两步:

    1.上传war包到指定的目录(webapps)

    把写好的web程序,打包成war包,上传到tomcat的webapps目录中 

    2. 在数据库中,构造好相关的数据

    我们之前写的web程序都是在本地运行的,访问的是本地的数据库,现在web程序在云服务器上面运行,访问的就是云服务器的数据库,因此必须保证我们写的代码能够访问云服务器的数据库(IP、端口、用户名、密码都必须正确),云服务器上面的数据库中必须包含必要的表和数据。

    部署程序之后,一旦出现问题,就可以去看服务器的日志:在tomcat目录下logs中,按照时间顺序(ll -lrt),最下面的日志文件就是最新的,然后使用vim打开,看一下里面是否有异常。 

     

     

  • 相关阅读:
    ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图
    2022/8/13
    【剑指offer33】二叉搜索树的后序遍历序列
    【数据结构】线性表之顺序表
    云存储架构——打造安全的企业级数据流转平台技术方案
    从零开始实现一个MyBatis加解密插件
    向量数据库,能让AI再次起飞吗?
    C++11特性-初始化
    JavaScript项目2_模态窗口
    JavaScript do-while循环
  • 原文地址:https://blog.csdn.net/yahid/article/details/126464733