B053 项目部署
目录
- Linux简介
- 虚拟机软件安装
- 安装centos
- 步骤
- 备份系统
- 网络设置
- 远程访问Linux
- 步骤
- 永久关闭CentOS防火墙
- linux命令
- linux文件系统
- linux常用命令
- 目录相关命令
- 文件相关命令
- 安装JDK
- 先卸载自带的JDK
- 安装JDK
- 复制压缩包到linux
- 解压
- 配置环境变量
- 安装MySql
- 清理旧文件
- 安装mysql
- Mysql编码集设置
- 增加Mysql远程登录权限
- 安装tomcat
- 部署web项目到tomcat
Linux简介
见文档
虚拟机软件安装
用vmware虚拟机软件
步骤:
解压vmware压缩包,
双击 高版本的vm15文件夹 中 完整版的VMware-workstation-full-15.5.0-14665864.exe
更改安装目标文件夹到D:\soft\vm\vm
点击许可证准备破解,打开vm15/注册机里的KeyGen.exe文件生成许可证号去输入
右键网络打开"网络和Internet设置",点击更改适配器选项,如果能看到VMnet1和VMnet8代表安装成功
安装centos
步骤
在vmware里创建新的虚拟机
自定义,
勾选稍后安装操作系统,
选linux,CentOS 7 64位,
位置选D:\soft\vm\CentOs
运行内存可以分配1-2个g,(吃本机运行内存)
网络连接可先选默认的nat模式
创建新虚拟磁盘可分配40个g,勾选将虚拟磁盘拆分成多个文件
完成虚拟机创建
点击CD/DVD (IDE) 自动检测,选择使用ISO映像文件 - CentOS-7-x86_64-DVD-2003.iso
开启此虚拟机
Install CentOS 7
下压
选择中文简体
软件 安装源 - (感叹号要点击去确认一下,后面同理)
软件选择不选最小安装–只能黑窗口不能看到桌面,勾选GNOME桌面,
KDUMP:在系统崩溃时做备份,会占用内存空间,可不选
网络和主机名:开启以太网,主机名可设置为localhost,
开始安装
用户设置:root是最大用户,有最高权限,密码可设为123456点两次完成,普通用户可不创建就用root就行,也可设置一个tom,123456
安装完CentOS7后点重启
完成,未接收许可 - 进去点同意
完成配置
不用tom,点未列出,用root账号登录
前进,跳过,开始使用CentOS Linux
备份系统
万一崩了可以恢复
网络设置
CentOS桌面单击右键 打开终端 输入ifconfig可看到IP
两台电脑能不能互通网络就看能不能ping的通IP
nat模式:虚拟机IP由主机分配,主机能联网虚拟机就能联网,虚拟机能ping通别的IP,别的IP不能ping通虚拟机,单向访问
桥接模式:主机和虚拟机的IP都由交换机分配下来,是分别独立的,可以互相访问,前边网段相同,会占用后面的网段
远程访问Linux
用xmanager
步骤
双击Xmanager4_setup.1410342608.exe,
安装完成
打开Xmanager
打开Xshell,新建会话/新建连接,输入CentOS的IP (打开终端 ifconfig ens33下第二行),输入root账号密码,连接
[root@localhost ~]#
含义:用root(之前设置的最高权限账号)连接到localhost(之前自定义的名称)成功
然后可在此窗口输入命令远程操作linux,相当于在linux本地右键打开终端输入命令操作
上图所示可解决中文乱码问题
永久关闭CentOS防火墙
远程访问linux时,需要关闭防火墙,否则访问linux上的tomcat,mysql等服务可能会失败;
查看防火墙状态: systemctl status firewalld.service(绿的running表示防火墙开启)
执行关闭命令(立即关闭 - 立即生效): systemctl stop firewalld.service
再次执行查看防火墙命令:systemctl status firewalld.service
执行开机禁用防火墙自启命令(永久关闭 - 重启生效): systemctl disable firewalld.service
开启防火墙:systemctl start firewalld.service
linux命令
linux文件系统
见文档
-linux没有图形化界面,一切都用命令
Linux有个基本思想:一切都是文件。
linux系统的目录结构是一个以/(根目录)为根节点的树形结构:
linux常用命令
pwd:查看当前所在目录的绝对路径
cd
cd…:回到上一级
cd /:回到根目录
tab:补全
ls:查看目录信息
ll:查看目录详细信息
ls –a:列出所有文件和文件夹,包含隐藏文件
ls -al:以详细信息方式列出所有文件信息,包含隐藏文件
whoami:查看当前操作用户
who am i:查看当前登录用户(有可能是有多个的)的信息
su 用户名:切换用户
目录相关命令
cd /bin:进入根目录下的bin文件夹
cd bin:进入当前目录下的bin文件夹
cd ./bin:进入当前目录下的bin文件夹,./可省略
mkdir 目录名:创建一个目录
mkdir -p 目录1/目录2/目录3:递归创建目录
rm -rf 路径:可以删除文件和目录,-r(递归) -f(暴力)
mv dir1 dir2:如果dir2存在,将dir1目录移动到dir2中,如果dir2不存在,将dir1目录名修改为dir2(重命名)
cp -rf dir1 dir2:将dir1复制一份到dir2目录(包含目录内容一起复制)
cp -rf dir1/* dir2:直接复制内容(非常重要)
tar -czvf tom.tar.gz tom:-- 打包
tar -xzvf tom.tar.gz -C /usr/local:-- 解包
文件相关命令
touch 文件:创建一个文件
vi filename:打开filename文件
按 i 进入编辑,按 ESC 退出编辑,输入 :wq 保存并退出
:q:退出编辑器,如果文件已修改请使用下面的命令 ,q(quit)
:q!:退出编辑器,且不保存
安装JDK
先卸载自带的JDK
一般会自带jdk,不确定可以输入java -version查看
检测系统自带的jdk安装包
[root@localhost ~]# rpm -qa|grep java
或者
[root@localhost ~]# rpm -qa|grep jdk
如何删除自带的openjdk
[root@localhost ~]# rpm -e --nodeps opeanjdk的包名
然后可以再输两种命令查看是否完成卸载
安装JDK
复制压缩包到linux
第一步:由于linux中安装程序一般安装在/user/local下
[root@localhost ~]# cd /usr/local
然后可以从Windows拖拽文件过去
也可以用Xftp传输
解压
tar -zxvf /usr/local/src/jdk-8u151-linux-x64.tar.gz -C /usr/local/
tar -zxvf ./jdk-8u151-linux-x64.tar.gz -C ./
tar -zxvf jdk-8u151-linux-x64.tar.gz -C ./ √
配置环境变量
进入jdk的bin目录,输入pwd命令找到绝对路径
输入编辑命令编辑根目录下的文件
vi /etc/profile
输入i表示insert,到文件末行粘贴
export JAVA_HOME=/usr/local/soft/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
按ESC退出编辑,输入:wq保存并退出
输入命令重新加载配置文件让改动生效
source /etc/profile
测试安装效果:java -version
安装MySql
清理旧文件
查看当前安装mysql情况,如果有就先卸载旧的
rpm -qa|grep -i mysql
查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysqlrm -rf 上面的目录
安装mysql
注意:这种安装需要下载,所以需要联网,如果网速不好会导致安装失败,所以安装之前建议先快照,mysql安装失败之后可以恢复到指定的快照版本,重新来一次
切换到/usr/local/soft
cd /usr/local/soft
下载mysql的rpm源码包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
yum install mysql-server
启动mysql服务
systemctl start mysqld
查看Mysql状态
systemctl status mysqld
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来设置root用户的密码
mysqladmin -u root password "你自己想设置的数据库密码"
连接到Mysql服务器
mysql -uroot -p你刚刚设置的密码
Mysql编码集设置
查看默认字符集
mysql> show variables like 'character_set%';
复制会话:可一边看mysql一边输入其他命令操作
右键会话标签 - 复制SSH渠道
修改字符集,修改 /etc/my.cnf文件
vi /etc/my.cnf
输入i编辑,在[mysqld]处将下面的配置拷贝进去,并删除原来的[mysqld]
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
按ESC退出编辑模式,输入:wq保存退出
在左侧mysql页面输入exit;退出连接
输入 systemctl restart mysqld 重启 mysql
再次连接mysql,查看字符集编码
[root@localhost local]# mysql -uroot -p你刚刚设置的密码
mysql> show variables like 'character_set%';
增加Mysql远程登录权限
进入mysql,授权远程连接
mysql> grant all privileges on *.* to root@'%' identified by '123456';
刷新授权
mysql> flush privileges;
然后用虚拟机的ip可以本地navicat进行连接了
安装tomcat
将之前已经通过拖拽或Xftp上传的tomcat压缩包解压到指定目录
[root@localhost soft]# tar -zxvf apache-tomcat-8.5.15.tar.gz -C ./
进入tomcat文件夹启动tomcat
[root@localhost soft]# cd apache-tomcat-8.5.15/
[root@localhost apache-tomcat-8.5.15]# cd bin/
[root@localhost bin]# ./startup.sh
测试
通过ifconfig查看linux服务器ip,再浏览器访问http://服务器ip:8080/
部署web项目到tomcat
方式一,把当前项目打成war包放到webapps目录下,能自动解压(相当于吧项目原文件直接拖过来),
会默认在url上加上项目名,localhost:cms/system/index,其他目录如static下文件可能不生效,因为这些url也都需要都加上项目名称
方式二,tomcat下面conf文件夹,server.xml配置,
<Context docBase="D:\WorkspaceOfEclipse\cms06\src\main\WebContent" path="" />
推荐第二种方式
方式一测试:
eclipse中右键项目,Export,WAR file,把项目导出成war包
把war包通过拖拽或Xftp拖到服务器tomcat的webapps目录下,
切换到bin目录下重启tomcat
[root@localhost bin]# ./shutdown.sh
[root@localhost bin]# ./startup.sh
浏览器访问http://服务器IP:8080/cms06/
方式二测试:
清理环境:关闭tomcat,删除方式一时弄进去的项目war包和自动解压的项目文件
[root@localhost webapps]# rm -rf ./cms06
[root@localhost webapps]# rm -rf ./cms06.war
1.把本地项目拖到服务器中某个自定义文件夹下
2.修改服务器中tomcat的server.xml
复制服务器项目中的WebContent路径,
编辑server.xml,修改默认端口为80,加入配置路径
<Context docBase="/usr/local/code/cms06/src/main/WebContent" path=""/>
启动tomcat,浏览器直接输入服务器端口号访问
3.修改服务器中项目的 jdbc.propertise 连接服务器中的 mysql
注意是两个文件,包含/usr/local/code/cms06/src/main/WebContent/WEB-INF/classes里的jdbc.propertise
4.复制本地mysql的数据到服务器的mysql中
重启tomcat
浏览器访问服务器IP
浏览器访问http://服务器IP/system/skjgf
相关文章:

B053 项目部署
目录 Linux简介虚拟机软件安装安装centos步骤备份系统网络设置 远程访问Linux步骤永久关闭CentOS防火墙 linux命令linux文件系统linux常用命令目录相关命令文件相关命令 安装JDK先卸载自带的JDK安装JDK复制压缩包到linux解压配置环境变量 安装MySql清理旧文件安装mysqlMysql编码…...

视觉Slam面试题(不定时更新)
文章目录 0 引言1 单目、双目、深度相机和RGBD相机的区别2 特征点法与直接法的优缺点3 等距变换、相似变换、仿射变换、射影变换的区别4 单应矩阵、本质矩阵和基础矩阵的区别5 Slam中为什么用李群李代数6 解释Slam中的绑架问题7 ORB、SIFT和SURF特征点检测算法的区别8 什么是对…...

从入门到进阶 之 ElasticSearch 节点配置 集群篇
🌹 以上分享 ElasticSearch 安装部署,如有问题请指教写。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有需要,请👍点赞💖收藏🐱&a…...

UE4中无法保存项目问题
系列文章目录 文章目录 系列文章目录前言一、解决方法 前言 取消:停止保存所有资产并返回编辑器。 重试:尝试再次保存资产。 继续:仅跳过保存该资产。 当我点击继续时,关闭项目,然后重新打开项目,发现之前…...

解剖—顺序表相关OJ练习题
目录 一、删除有序数组中的重复项,返回出现一次元素的个数。 二、原地移除数组中所有数值等于val的元素 三、合并两个有序数组 四、旋转数组 五、数组形式的整数加法 一、删除有序数组中的重复项,返回出现一次元素的个数。 26. 删除有序数组中的重…...

NAT网关在阿里云的应用
NAT网关(Network Address Translation Gateway)是一种网络地址转换服务,提供NAT代理(SNAT和DNAT)能力。NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决I…...

操作系统体系结构和OS
1.冯诺依曼计算机体系 关于冯诺伊曼系统,在这里我只是简单讲一讲,更加详细的内容可以看我的计算机组成系列。 常见的笔记本、台式机,不常见的服务器、工作站,大部分都遵守“冯诺依曼体系”,因此该计算机体系就是现代…...
Flutter ☞ 常量
常量 只能被定义一次,并且不可修改的值叫做常量。 在 Flutter 中有两种常量修饰方法 finalconst 相同点 类型声明可以省略 final String a 123; final a 123;const String a 123; const a 123;初始化后不能再赋值 final a 123; a abc; // 错误const a …...
C++ 配置VSCode开发环境
C配置VSCode开发环境 简介 Visual Studio Code (VSCode) 是一款开源的轻量级代码编辑器。它支持许多编程语言,包括C。本文档将详细介绍如何在Windows环境下配置VSCode的C开发环境。 安装步骤 1. 安装Visual Studio Code 首先,你需要下载并安装Visua…...
Arduino_STM32整理贴
Arduion-STM32 stm32duino 让stm32 在arduino中使用 源代码:https://github.com/stm32duino/Arduino_Core_STM32 busybox文件位置 stm32duino 下有个stm32tool 项目,内含有busybox.exe 使用usb转TTL烧写 使用 PA9 PA10 端口 PA9接 RX ,PA10接 TX …...

MoeCTF 2023 Web+Jail wp
----------签到---------- hello CTFer 给了一个URL,是赛博厨子解码base64的flag,flag直接给了。 远程端口转发: 这次比赛估计好多大师傅都没参加,题目环境是在本机内网上的(比如localhost:52005)导致请…...
494.目标和 474.一和零
目标和 题目 给一个都是正整数的组合,然后你可以在里面任意添加或-,求使得最后结果为 目标和S(target)的有多少种方法? 范围 数组非空,且长度不会超过 20 。初始的数组的和不会超过 1000 。保证返回的…...

模拟电源与数字电源之间的区别
BOSHIDA 模拟电源与数字电源之间的区别 模拟电源与数字电源是两种不同的电源类型,其核心区别在于电源控制方式和输出特性。本文将从这两方面对模拟电源和数字电源进行比较和分析。 电源控制方式: 模拟电源的控制方式以模拟电压和模拟电流为基础。模拟电…...

P5461 赦免战俘
题目描述 现有 2 n 2 n ( n ≤ 10 ) 2^n\times 2^n (n\le10) 2n2n(n≤10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵…...
【工具】转码silk格式为mp3
【工具】转码slk格式为mp3 前提 安装 ffmpeg 【安装】Linux安装ffmpeg_linux安装ffmpeg4.4_我是Superman丶的博客-CSDN博客 GitHub - kn007/silk-v3-decoder: [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to o…...

蓝桥杯每日一题2023.10.18
题目描述 特别数的和 - 蓝桥云课 (lanqiao.cn) 题目分析 简单枚举每一个可行的数 #include<bits/stdc.h> using namespace std; int flag, ans; int main() {int n;cin >> n;for(int i 1; i < n; i ){flag 0;int x i;while(x){int y x % 10;if(y 2 || y…...

大数据开发中的秘密武器:探索Hadoop纠删码的奇妙世界
随着大数据技术的发展,HDFS作为Hadoop的核心模块之一得到了广泛的应用。为了系统的可靠性,HDFS通过复制来实现这种机制。但在HDFS中每一份数据都有两个副本,这也使得存储利用率仅为1/3,每TB数据都需要占用3TB的存储空间。因此&…...

华为数通方向HCIP-DataCom H12-831题库(单选题:301-310)
第301题 关于配置防火墙安全区域的安全级别的描述,错误的是 A、同一系统中,两个安全区域不允许配置相同的安全级别 B、只能为自定义的安全区域设定安全级别 C、安全级别一旦设定不允许更改 D、新建的安全区域,系统默认其安全级别为1 答案:D 解析: 新创建的安全区域缺省未…...

Vite 踩坑 —— require is not defined
动态require引入图片报错 require 是属于 Webpack 的方法,而我使用的是 Vite,所以我们需要去寻找 Vite 静态资源处理的方法 所以,我们只需要将代码改写以下形式即可。 template <CarouselItem v-for"(item,index) of carous…...

彻底理解操作系统与内核的区别!
通用底盘技术 Canoo公司有一项核心技术专利,这就是它们的通用电动底盘技术,长得是这个样子,非常像一个滑板: 这个带轮子、有电池、能动的滑板已经包含了一辆车最核心的组件,差的就是一个外壳。这个看起来像滑板的东西…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...