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公司有一项核心技术专利,这就是它们的通用电动底盘技术,长得是这个样子,非常像一个滑板: 这个带轮子、有电池、能动的滑板已经包含了一辆车最核心的组件,差的就是一个外壳。这个看起来像滑板的东西…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...