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

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 节点配置 集群篇

&#x1f339; 以上分享 ElasticSearch 安装部署&#xff0c;如有问题请指教写。&#x1f339;&#x1f339; 如你对技术也感兴趣&#xff0c;欢迎交流。&#x1f339;&#x1f339;&#x1f339; 如有需要&#xff0c;请&#x1f44d;点赞&#x1f496;收藏&#x1f431;‍&a…...

UE4中无法保存项目问题

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

解剖—顺序表相关OJ练习题

目录 一、删除有序数组中的重复项&#xff0c;返回出现一次元素的个数。 二、原地移除数组中所有数值等于val的元素 三、合并两个有序数组 四、旋转数组 五、数组形式的整数加法 一、删除有序数组中的重复项&#xff0c;返回出现一次元素的个数。 26. 删除有序数组中的重…...

NAT网关在阿里云的应用

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

操作系统体系结构和OS

1.冯诺依曼计算机体系 关于冯诺伊曼系统&#xff0c;在这里我只是简单讲一讲&#xff0c;更加详细的内容可以看我的计算机组成系列。 常见的笔记本、台式机&#xff0c;不常见的服务器、工作站&#xff0c;大部分都遵守“冯诺依曼体系”&#xff0c;因此该计算机体系就是现代…...

Flutter ☞ 常量

常量 只能被定义一次&#xff0c;并且不可修改的值叫做常量。 在 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) 是一款开源的轻量级代码编辑器。它支持许多编程语言&#xff0c;包括C。本文档将详细介绍如何在Windows环境下配置VSCode的C开发环境。 安装步骤 1. 安装Visual Studio Code 首先&#xff0c;你需要下载并安装Visua…...

Arduino_STM32整理贴

Arduion-STM32 stm32duino 让stm32 在arduino中使用 源代码&#xff1a;https://github.com/stm32duino/Arduino_Core_STM32 busybox文件位置 stm32duino 下有个stm32tool 项目&#xff0c;内含有busybox.exe 使用usb转TTL烧写 使用 PA9 PA10 端口 PA9接 RX ,PA10接 TX …...

MoeCTF 2023 Web+Jail wp

----------签到---------- hello CTFer 给了一个URL&#xff0c;是赛博厨子解码base64的flag&#xff0c;flag直接给了。 远程端口转发&#xff1a; 这次比赛估计好多大师傅都没参加&#xff0c;题目环境是在本机内网上的&#xff08;比如localhost:52005&#xff09;导致请…...

494.目标和 474.一和零

目标和 题目 给一个都是正整数的组合&#xff0c;然后你可以在里面任意添加或-&#xff0c;求使得最后结果为 目标和S&#xff08;target&#xff09;的有多少种方法&#xff1f; 范围 数组非空&#xff0c;且长度不会超过 20 。初始的数组的和不会超过 1000 。保证返回的…...

模拟电源与数字电源之间的区别

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

P5461 赦免战俘

题目描述 现有 2 n 2 n ( n ≤ 10 ) 2^n\times 2^n (n\le10) 2n2n(n≤10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵&#xff0c;每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵…...

【工具】转码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纠删码的奇妙世界

随着大数据技术的发展&#xff0c;HDFS作为Hadoop的核心模块之一得到了广泛的应用。为了系统的可靠性&#xff0c;HDFS通过复制来实现这种机制。但在HDFS中每一份数据都有两个副本&#xff0c;这也使得存储利用率仅为1/3&#xff0c;每TB数据都需要占用3TB的存储空间。因此&…...

华为数通方向HCIP-DataCom H12-831题库(单选题:301-310)

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

Vite 踩坑 —— require is not defined

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

彻底理解操作系统与内核的区别!

通用底盘技术 Canoo公司有一项核心技术专利&#xff0c;这就是它们的通用电动底盘技术&#xff0c;长得是这个样子&#xff0c;非常像一个滑板&#xff1a; 这个带轮子、有电池、能动的滑板已经包含了一辆车最核心的组件&#xff0c;差的就是一个外壳。这个看起来像滑板的东西…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...