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

使用 Linux 相关知识部署博客系统

目录

​编辑一、认识 Linux

二、如何拥有 Linux 环境

三、常见的 Linux 命令

1、目录相关命令

(1)ls 

(2)pwd

(3)cd

2、文件操作相关命令

(1)touch

(2)cat

(3)echo

3、vim

vim 的关键概念:模式

4、操作目录

(1)mkdir

 (2)rm

(3)mv

(4)cp

其它的命令

四、部署 java web 程序

1、搭建环境

(1)jdk

(2)tomcat

(3)MySQL

二、部署程序

1、在云服务器的 mysql 中进行建库,建表

2、微调代码

3、打包

4、把 war 包拷贝到云服务器上的 webapps 目录


一、认识 Linux

Linux 是一个操作系统,和 windows 是并列的关系

windows 主要是通过图形化界面操作的

linux 主要是通过命令行操作的,这是因为:

1、服务器虽然配置高,但是上面跑的任务工作量大,也没有额外的资源给你运行玉兴界面,服务器要求稳定,Linux 图形化界面经常有 bug 

2、嵌入式设备,配置比较低,运行图形化界面也比较吃力

3、android 本身有图形化界面,也稳定好用


二、如何拥有 Linux 环境

如何拥有一个 Linux 环境?

1、使用虚拟机

在电脑上装一个虚拟机软件(使用软件模拟了硬件),在虚拟机上就能够装系统了

但是这种方式没有外网ip,并且 bug 比较多

2、使用物理机

直接把 linux 装到电脑上,但是不建议在自己主要用的电脑上安装

3、使用 wsl

是 windows最近几年弄得一个功能,在 windows 里内置了 linux 内核

但是这个东西不能作为生产环境

4、【推荐方案】云服务器

有外网 ip ,程序部署上去,就可以被外面访问了

首次使用,需要设置初始密码(用户名固定是root) 

设置完之后,我们就有了三个信息:ip,用户名(root),密码

然后我们就可以使用终端工具进行登录了,终端工具有很多,我使用的是 xshell


三、常见的 Linux 命令

1、目录相关命令

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

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

cd:切换目录


(1)ls 

直接输入 ls 是擦好看当前目录中的内容,还可以给 ls 后面加上一个路径(绝对 / 相对),就可以查看指定目录中的内容

这里的 / 指的是根目录

目录,文件,这些内容在机器上,构成了一个 N 叉树结构,/(此电脑)就是树根节点

注意:Linux 上是没有 “盘符” 的概念的,所以不分  C 盘 和 D 盘

/ 的地位,就相当于 java 中的 Object 一样

这里,我们也可以通过 ls -l 来更详细的查看当前文件的内容

相比于直接使用 ls -l,更常用 ll

结果和刚才是一样的


(2)pwd

如果我们在操作文件的时候迷路了,可以通过 pwd 查看绝对路径是什么样的 

可以看到,当前我们处于 / 目录下的 root 目录中

pwd 就相当于单击文件资源管理器的地址栏一样的效果


(3)cd

cd 命令能够切换当前所在的目录,就相当于双击某个目录进去

cd: change directory 

cd 后面也是可以跟上 绝对路径 或者 相对路径的

绝对路径是以 / 开头的,相对路径是以 . 或者 .. 开头的,其中有时候 . 可以省略

使用 cd 的时候,切换的路径,不一定非要一个字母一个字母的输入,也可以使用 table 键来补全

如果只有一个匹配的选项,就直接补全了,如果有多个选项,此时需要双击 table 来列出所有的匹配结果


2、文件操作相关命令

touch:创建一个空的文件

cat : 查看文件内容

echo :修改文件 


(1)touch

创建一个空的文件

no news is good news,没有任何提示就说明成功了

如果出错了,就会有报错信息

当前处于哪个目录下,(pwd的结果是什么),此时文件就创建在哪里

再次通过 ll,就能看到该文件了


(2)cat

查看文件内容

由于当前是一个空的文件,所以什么都没有,此时我们可以通过 echo 来进行写文件操作


(3)echo

修改文件

比如,我们再次使用 > 来修改文件

此时,原先的内容就被新的内容覆盖了

但是如果使用 >> ,就会进行拼接

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

cat 和 echo 只是非常简单粗暴的读写文件,如果读写内容费差个简单,使用他们没有问题,如果读写内容更加复杂,就需要使用更加强大的编辑器了

vi / vim 就是 linux 上默认自带的 “记事本” 程序

vim 相当于 linux 上默认的记事本,vim 用起来比记事本麻烦一些

在 xshell 上,复制粘贴不是 ctrl + c / ctrl + v 了,ctrl +c 在终端中有特殊的含义:终止当前运行的程序

复制:ctrl + insert

粘贴: shift + insert


3、vim

vim + 文件名 就可以打开文件

怎么退出呢?

先按一个 : 此时光标会来到最下面的一行,再输入一个 q 加回车就可以了

vim 的关键概念:模式

vim 默认进去,是普通模式(normal mode)

普通模式下,键盘的大部分按键,都是特定含义的快捷键

真正进行编辑,则需要进入 插入模式(insert mode)

可以通过输入小写字母 i 进入 插入模式

当左下角提示变长了 INSERT ,此时处在插入模式 

vim 主要是引入了海量的快捷键,因此为了支持这么多的快捷键,就需要使用模式来区分

别的编辑器,快捷键主要是通过组合键的方式

按下 esc,又可以回到普通模式了

vim 中的模式有很多种,都是按 esc 回到普通模式

此时  :wq 保存退出即可

如果 vim 没有正确关闭,在下次启动的时候,会报错,提示你上次没正确关闭

可以直接按 D 就是删除未保存的内容,R 就是恢复之前的编辑内容


4、操作目录

(1)mkdir

创建目录

 使用 -p 选项可以创建多级目录


 (2)rm

删除文件 / 目录

删除文件的时候,会提示你是否确定删除目录,此时按 y 就是确定删除

删除目录,可以使用 -r 选项(递归的删除),f 就是不确认,强制删除

linux 没有回收站,文件删除了,就没有了,因此删除的时候要谨慎

rm -rf / 所有的文件目录都没有了,包括上述的创建目录指令,就只能重装系统了


(3)mv

move 移动 = 剪贴 + 粘贴

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


(4)cp

 copy 复制 = 复制 + 粘贴

mv 如果移动的是一个目录,此时操作和移动文件没有任何区别

cp 如果拷贝的是一个目录,需要加上一个 -r 选项,表示拷贝递归,否则会报错


其它的命令

grep 字符串查找

ps 查看进程

netstat 查看网络信息


四、部署 java web 程序

要想部署程序,就需要先把对应的环境给搭建好

1、搭建环境

搭建环境,说白了就是安装一些必要的软件

1、jdk

2、tomcat

3、mysql

(1)jdk

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

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

yum install [包名] 进行安装

| 叫做管道,效果就是把第一个命令的输出,作为第二个命令的输入

yum list 本身是列出所有的可安装的包,但是太多了,使用 grep 筛选一下包含 jdk 关键字的结果

这个,就是我们要安装的包

devel :development 开发 ,x86_64: 64位系统的版本

然后开始下载安装

接下来,这里会出入一个提示:是否确认安装,输入 y 表示确认安装

然后我们再敲 javac ,如果有下列信息,就说明安装成功


(2)tomcat

从官网下载的 .zip压缩包,上传到 linux 上,就可以直接使用了

直接把 .zip 拖拽到 xshell 上即可

此时,就得到了一个压缩包

然后使用 unzip 命令进行解压缩

此时,就解压缩完成了 

然后我们进入到 bin 目录中,这里面都是一些启动脚本相关内容

然后我们使用 chmod  +  x  *.sh 操作来给所有的 .sh 文件赋予可执行权限

sh startup.sh 就可以启动 tomcat 了


(3)MySQL

MySQL 的安装参考下面这篇文章:CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)


二、部署程序

1、在云服务器的 mysql 中进行建库,建表

云服务器上的博客系统访问的一定是云服务器的数据库,而不是本地电脑的数据库!!!

所以,我们需要在云服务器的 mysql 中进行建库,建表操作

先在云服务器上登录 MySQL

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

使用 mysql -uroot 的命令来打开数据库客户端,如果想退出,按 ctrl + d 


2、微调代码

本地的数据库,端口号,用户名,密码和云服务器的数据库可能是不同的,所以需要对原本的代码进行一个微调

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

所以,我们要在 DBUTile 中修改密码我们可以使用 netstat -anp 命令来显示所有的网络信息,使用 grep 筛选出 mysql 相关内容

然后,可以通过这个方法来查看端口号,再判断代码中是否要更改对应的端口号(一般默认是 3306,所以不用改) 


3、打包

使用 maven 进行打包即可,打成 .war 包

在打包前,先对 pom.xml 进行一个微调:设置打包的类型 和打包的名字 

然后双击 package 进行打包 

打包完成之后,就能在 target 中看到已经打好了的 war 包了


4、把 war 包拷贝到云服务器上的 webapps 目录

在 xshell 中找到 webapps 目录,然后把 war 包拖拽上去即可 

 要记得启动 tomcat 服务器

然后来到 bin 目录下, 启动 startup.sh

记住:启动这个启动脚本之前,要保证 .sh 文件都是绿色的(有可执行权限) 

我们可以使用 netstat 来验证 tomcat 是否启动成功

如果状态是  listen 就是启动成功了,如果不成功,就去 logs 目录下看看日志的报错

然后,就可以在网站上打开了!

一定要牢记一句话:本地能够正确运行,部署到云服务器上,不一定能正确运行!!!

一定要牢记一句话:本地能够正确运行,部署到云服务器上,不一定能正确运行!!!

一定要牢记一句话:本地能够正确运行,部署到云服务器上,不一定能正确运行!!!

这是因为,程序执行的正确性,不仅仅取决于代码,还取决于依赖的数据,配置等环境信息

所以,我们在部署到服务器之后,还要再测试一下代码,如果出现了错误,也是正常的

相关文章:

使用 Linux 相关知识部署博客系统

目录 ​编辑一、认识 Linux 二、如何拥有 Linux 环境 三、常见的 Linux 命令 1、目录相关命令 (1)ls (2)pwd (3)cd 2、文件操作相关命令 (1)touch (2&#xf…...

Linux--进程--vfork与fork区别

vfork&#xff1a; 所需头文件&#xff1a;#include <sys/types.h> #include <unistd.h> pid_t vfork(void); 功能&#xff1a; vfork() 函数和 fork() 函数一样都是在已有的进程中创建一个新的进程&#xff0c;但它们创建的子进程是有区别的。 参数&#xff…...

Ubuntu系统重装nvidia gpu驱动

1. 卸载原驱动 sudo apt remove *cuda* sudo apt remove *nvidia* sudo /usr/bin/nvidia-uninstall sudo dpkg -l | grep ^rc | cut -d -f3 | sudo xargs dpkg --purge sudo rm -rf ~/.cuda-license-* sudo apt purge nvidia-cuda-toolkit sudo apt remove nvidia-driver-* s…...

Java + Selenium + Appium自动化测试

一、启动测试机或者Android模拟器&#xff08;Genymotion俗称世界上最快的模拟器&#xff0c;可自行百度安装&#xff09; 二、启动Appium&#xff08;Appium环境安装可自行百度&#xff09; 三、安装应用到Genymotion上&#xff0c;如下图我安装一个计算机的小应用&#xff…...

【sgLazyCascader】自定义组件:基于el-cascader的懒加载级联菜单,支持异步加载子级菜单

sgLazyCascader源码 <template><div :class"$options.name"><el-cascader :props"props" v-model"model" :placeholder"placeholder || 请选择" :options"options"></el-cascader></div> &l…...

2023高教社杯数学建模E题思路模型 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c; 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…...

一、Linux下常用的压缩格式

一、Linux下常用的压缩格式 ​ Linux下常用的压缩扩展名有&#xff1a;.tar、.tar.bz2、.tar.gz。 二、Windows下7ZIP软件的安装 ​ 因为Linux下很多文件是.bz2&#xff0c;.gz结尾的压缩文件&#xff0c;因此需要在windows下安装7ZIP软件。 三、gzip压缩工具 .gzip工具负…...

MySQL 查询 - 排除某些字段的SQL查询,提升查询性能

序言 某些时候&#xff0c;需要查询拥有很多很多字段的表&#xff0c;但是查询表时&#xff0c;其中有一些不需要查询的字段&#xff0c;会增加查询的负担&#xff0c;所以这时候&#xff0c;就需要排除这些冗余的字段&#xff0c;指定需要的字段查询&#xff0c;提升查询性能…...

国产信创服务器如何进行安全可靠的文件传输?

信创&#xff0c;即信息技术应用创新&#xff0c;2018年以来&#xff0c;受“华为、中兴事件”影响&#xff0c;国家将信创产业纳入国家战略&#xff0c;并提出了“28n”发展体系。从产业链角度&#xff0c;信创产业生态体系较为庞大&#xff0c;主要包括基础硬件、基础软件、应…...

ARTS第五周:S - 数据编织 Data fabric

Brife ​数据编织/数据经纬&#xff08;Data Fabric&#xff09;是一种新型的数据管理和治理方法&#xff0c;旨在连接和整合所有数据源和数据目标&#xff0c;实现数据的无缝移动和访问。它是一种跨平台、跨云、跨技术的解决方案&#xff0c;可以连接各种类型的数据&#xff0…...

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平教程

详情点击链接&#xff1a;基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平教程 一&#xff0c;空间数据获取与制图 1.1 软件安装与应用 1.2 空间数据 1.3海量空间数据下载 1.4 ArcGIS软件…...

Spring Boot 介绍

Spring Framework的发展和Spring Boot Spring 3 支持Java注解Spring 4 支持 Java 8, 同时推出Spring Boot Spring Boot 简化了Spring配置。Spring Boot是什么? Boot 翻译有靴子,启动的意思, 在计算机领域有引导的意思, 比如计算机启动引导或是Linux 的引导程序。 Spring B…...

mysql基于AES_ENCRYPTAES_DECRYPT实现密码的加密与解密

1.直接使用AES_ENCRYPT&&AES_DECRYPT函数导致的问题。 执行语句 select AES_ENCRYPT(cd123,key) 结果 加密过后的字符串是一串很奇怪的字符。 尝试使用上面加密过后的字符解密。 select AES_DECRYPT(u5£d|#,key) 结果 并未成功的解密 2.解决办法 使用 hex(…...

怎么把pdf转换成jpg图片?

怎么把pdf转换成jpg图片&#xff1f;在工作中&#xff0c;如果我们收到无法修改编辑的PDF文件&#xff0c;可能会遇到一些困难。尤其是当平台或网站只支持JPG图片格式&#xff0c;而领导又要求我们将pdf文件改为JPG格式时&#xff0c;情况就更为棘手了。这对于我们打工一族来说…...

计算机脚本的概念,如何编写、使用脚本 (Script)?

一、脚本的概念和使用场景 在计算机领域的脚本&#xff0c;指的是使用一种特定的描述性语言&#xff0c;依据一定的格式编写的可执行文件脚本语言又被称为扩建的语言或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只是在被调用时进行解…...

c语言 5.0

&#x1f482; 个人主页: 程序员爱摸鱼&#x1f91f; 版权: 本文由【程序员爱摸鱼】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注点赞收藏(一键三连)哦&#x1f485; 想寻找共同成长的小伙伴&#xff0c;可以互粉哦 &#x1f4ac;文章目录…...

如何配置远程访问以在外部网络中使用公司内部的OA办公系统——“cpolar内网穿透”

文章目录 前言1. 确认在内网下能够使用IP端口号登录OA办公系统2. 安装cpolar内网穿透3. 创建隧道映射内网OA系统服务端口4. 实现外网访问公司内网OA系统总结 前言 现在大部分公司都会在公司内网搭建使用自己的办公管理系统&#xff0c;如OA、ERP、金蝶等&#xff0c;员工只需要…...

【AI】机器学习——线性模型(线性回归)

线性模型既能体现出重要的基本思想&#xff0c;又能构造出功能更加强大的非线性模型 文章目录 3.1 线性模型3.1.1 数据3.1.2 目标/应用 3.2 线性回归3.2.1 回归模型历史3.2.2 回归分析研究内容回归分析步骤 3.2.3 回归分析分类3.2.4 回归模型3.2.5 损失函数梯度下降法一元回归模…...

智能小车之跟随小车、避障小车原理和代码

目录 1. 红外壁障模块分析​编辑 2. 跟随小车的原理 3. 跟随小车开发和调试代码 4. 超声波模块介绍 5. 摇头测距小车开发和调试代码 1. 红外壁障模块分析 原理和循迹是一样的&#xff0c;循迹红外观朝下&#xff0c;跟随朝前 TCRT5000传感器的红外发射二极管不断发射红外…...

行业追踪,2023-09-07

自动复盘 2023-09-07 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...