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

news2024/11/18 12:35:30

目录

​编辑一、认识 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 目录下看看日志的报错

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

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

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

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

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

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

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

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

相关文章

48、springboot 的国际化之让用户在程序界面上弄个下拉框,进行动态选择语言

上一篇是直接改浏览器的支持语言。 在浏览器上面直接改国际化语言 这次要实现的功能是直接在程序界面动态选择语言。 Locale 代表语言、国家。 ★ 在界面上动态改变语言 应用之所以能动态呈现不同的语言界面,其实关键在于如何确定客户端的Locale(代…

springboot实战(五)之sql业务日志输出,重要

目录 环境: 一、mybatis-plus之sql分析日志输出 1.配置 2.验证 3.高级输出方式 二、业务日志输出到文件 1.添加log4j2依赖 2.排除logback依赖 3.新增log4j2的配置文件 4.添加配置 5.启动测试 6.给日志请求加个id 6.1、过滤器filter实现 6.2、测试 6.3、…

Linux之基于HTTPS的静态网站

目录 Linux之基于HTTPS的静态网站 定义 SSL协议 使用Apachemod_ssl组件的加密认证网站 mod_ssl模组 安装 配置文件 ssl配置文件的主要参数 案例 案例1 --- 搭建HTTPSSL的加密认证的web服务器 案例2 --- 组建多个子目录的网站www.joker.com,该网站下有2个子…

Android开发中的各种零碎知识点

折叠屏 折叠屏为什么需要适配 折叠屏在视觉效果来说就是,屏幕变大了,手机变平板。这样就需要我们的app在可折叠设备展开时,当前应用页面必须无缝延续到另一个屏幕,并可自动调整大小匹配新的布局,也就是说,应…

护航数字政府建设,美创科技成为“数字政府建设赋能计划”成员单位

近日,“2023软博会-软件驱动数字政府创新发展论坛”顺利召开,本次论坛由中国信息通信研究院、中国通信标准化协会承办,中国通信标准化协会云计算标准和开源推进委员会、数字政府建设赋能计划支持。 天津市工业和信息化局总经济师杨冬梅、中国…

OpenHarmony 使用 ArkUI Inspector 分析布局

● 摘要:视图的嵌套层次会影响应用的性能,开发者应该移除多余的嵌套层次,缩短组件刷新耗时。本文会介绍如何使用 ArkUI Inspector 工具分析布局,提示应用响应性能。 ● 关键字:列举本文相关的关键字:OpenH…

springboot找不到注册的bean

1、错误描述 A component required a bean named ‘fixedAssetsShareMapper’ that could not be found.Action:Consider defining a bean named ‘fixedAssetsShareMapper’ in your configuration.2、问题分析 1、该错误提示表明在你的应用程序中有一个组件(可能…

【技术分享】RK Android11系统SD卡启动方法

本文基于Purple Pi OH 3566主板,介绍Android11源码的修改,获得可从SD卡启动的Android11系统镜像。 Purple Pi OH作为一款兼容树莓派的开源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超强CPU,主频最高达1.8 GHz,算力高达1Tops,…

stable diffusion实践操作-大模型介绍-SDXL1大模型

系列文章目录 大家移步下面链接中,里面详细介绍了stable diffusion的原理,操作等(本文只是下面系列文章的一个写作模板)。 stable diffusion实践操作 提示:写完文章后,目录可以自动生成,如何生…

Qt鼠标点击事件处理:显示鼠标点击位置(完整示例)

Qt 入门实战教程(目录) 前驱文章: Qt Creator 创建 Qt 默认窗口程序(推荐) 什么是事件 事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。 事件(event)驱动…

BFS练习1

BFS练习1 - 题目 - Daimayuan Online Judge 问题描述: 刚开始吓一跳,以为有什么更简单的呢,因为每一次都要走一次bfs,看了数据范围后,感觉跑一次bfs进行记录即可。 代码: void solve() {int a,k; cin>…

【Python】OpenCV安装

安装起来相当简单,但是看到很多博客的安装过程复杂得很。 pip install opencv-python测试代码: import cv2 as cv img cv.imread("f6759b83f3201997fd7ea1c9b9130a44.jpg")cv.imshow("Display window", img) k cv.waitKey(0) # …

Tiny Player Mac:小而美,音乐播放的极致体验

对于追求音质和操作简便的Mac用户来说,Tiny Player Mac是一款不可多得的音乐播放器。它以简洁的界面、强大的功能和优异的性能,吸引了无数用户的目光。接下来,让我们一起了解这款小而美的音乐播放器。 Tiny Player Mac支持多种音频格式&#…

使用 ModelScope 文本到视频合成模型

链接如下: ModelScope Text To Video Synthesis - a Hugging Face Space by damo-vilabDiscover amazing ML apps made by the communityhttps://huggingface.co/spaces/damo-vilab/modelscope-text-to-video-synthesis 标题:使用 ModelScope 文本到视…

OSI与TCP IP各层的结构与功能,都有哪些协议

分析&回答 OSI七层模型 层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层数据格式化,代码转换…

【C++】C++面向对象编程三大特性之一——继承

❤️前言 本篇博客主要是关于C面向对象编程中的三大特性之一的继承,希望大家能和我一起共同学习进步! 正文 我们刚刚学习一块全新的知识,首先简单关注一下它的概念和简单的使用方法。 继承的概念及定义 继承的概念 继承的概念:…

内网穿透实战应用-如何通过内网穿透实现远程发送个人本地搭建的hMailServer的邮件服务

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…

CentOS7 Hadoop3.3.0 安装与配置

一、安装JDK 1、创建文件夹tools和training用于存放压缩包和解压使用,tools存放压缩包,training用于解压后安装jdk和hadoop的路径。 1)回到路径为 / 的位置 cd /2) 创建 tools 和 training mkdir toolsmkdir training3) 进入tools文件夹 …

47、TCP的流量控制

从这一节开始,我们学习通信双方应用进程建立TCP连接之后,数据传输过程中,TCP有哪些机制保证传输可靠性的。本节先学习第一种机制:流量控制。 窗口与流量控制 首先,我们要知道的是:什么是流量控制&#xff…

AI篇-chatgpt基本用法(文心一言也适用)

目录 (1)基本规则 (2)例子1-文章摘要 (3)例子2-代码生成 (4)文心一言链接 (1)基本规则 相比于搜索引擎,ChatGPT的优势在于其高效的想法关联和…