手把手教你将项目部署到服务器!
一、导入centos7虚拟机:
打开VMWare,点击“打开虚拟机”,选择centos7.ova之后,选择存储路径:

点击导入:

选择“不再显示此消息”,点击“重试”按钮:

点击“编辑虚拟机设置”,修改处理器、内存、硬盘等信息后,启动
按Ctrl+Alt键可以切换到windows下。
启动成功后,输入账号root密码123456登录。
二、配置IP地址:
先在VMWare里设置好网络连接方式为桥接模式:

有关于centos7获取IP地址的方法主要有两种,1:动态获取ip;2:设置静态IP地址。
1、动态获取ip(前提是你的路由器已经开启了DHCP)
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 (最后一个为网卡名称)

动态获取IP地址需要修改两处地方即可
(1)bootproto=“dhcp”
(2)onboot=“yes”

修改后重启一下网络服务即可 systemctl restart network
[root@mini ~]# systemctl restart network[root@mini ~]#
这样动态配置IP地址就设置好了,这个时候再查看一下ip addr 就可以看到已经获取了IP地址,且可以上网(ping 百度)
2、设置固定ip
BOOTPROTO=“static”
IPADDR=“192.168.0.121” #你想要设置的固定IP,理论上192.168.1.4-192.168.1.253之间都可以,请自行验证;
NETMASK=“255.255.255.0” #子网掩码,不需要修改;
GATEWAY=“192.168.0.1” #网关,这里是VMware网关IP地址,前面要你记录下的那个IP。
DNS1=“114.114.114.114” #这个是国内的DNS地址,是固定的;
三、各种坑:
1、systemctl restart network报错
Job for network.service failed. See ‘systemctl status network.service’ and ‘journalctl -xn’ for details. 
2、ping不通百度
四、解决办法:
1、 排除ip冲突
用主机ping这个ip看是否已存在。
2、删除多余的网卡配置文件
删除ifcfg-e开头的多余的网卡配置文件
rm -f /etc/sysconfig/network-scripts/ifcfg-eXXX 
3、HWADDR错误 ,查到正确的HWADDR
输入 ip addr,查找到HWADDR

进入 cd /etc/sysconfig/network-scripts 目录编辑对应的 vim ifcfg-ensXX,将HWADDR设置正确,重启 service network restart
或者删除HWADDR。
00:0c:29:ad:24:51
4、将ifc-ethXX中的DEVICE 那一行注释掉,或者删掉
5、将ifcfg-xxx中的NAME改为和文件名一致
5、删除网卡的UUID
6、停止NetworkManager.service
停止网络管理服务
[root@localhost Desktop]# systemctl stop NetworkManager.service[root@localhost Desktop]# systemctl disable NetworkManager.serviceRemoved symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
重启network服务
[root@localhost network-scripts]# service network restartRestarting network (via systemctl): [ OK ]
7、删除设备规则配置文件
无论有无这文件,删就是了
rm -f /etc/udev/rules.d/70-persistent-net.rules 
8、打开VMWare的虚拟机服务

9、看VMWare右下角的网络适配器是否连接,如果没有连接则连接上
10、重启大法
如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生!
五、无论如何还是不行:
1、使用NAT模式
2、先改为动态获取ip地址
3、查看当前DNS
cat /etc/resolv.conf
4、改为静态ip
5、更新完需要的软件后可再次改回桥接模式
六、CentOS7下安装JDK1.8:
1、检查是否已经安装了jdk
键入命令 java -version 查看。
2、下载JDK
下载地址https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
往下拉

3、上传到centos

将本地d:/tmp/jdk-8u281-linux-x64.tar.gz上传到/usr下,重命名为java1.8:
本地目录切换到d:/tmp1
sftp>lcd d:/tmp1 
centos目录切换到/usr
sftp>cd /usr 
查看本地目录
sftp> lpwdd:/tmp
查看centos目录
sftp> pwd/usr
上传
sftp> put jdk-8u281-linux-x64.tar.gz 
重命名
sftp> mv jdk-8u281-linux-x64.tar.gz java1.8 
 
4、解压安装JDK
键入命令 cd /usr 来到刚才的复制文件处,键入命令tar -zxvf java1.8 进行解压,解压出一个文件夹jdk1.8.0_281,进入该文件夹

5、配置JDK环境变量
键入命令 vi /etc/profile 修改配置文件,记得要在root权限下修改
输入i进入编辑状态,然后将光标移到最后一行,粘贴如下内容,JAVA_HOME=/usr/jdk1.8.0_281 要根据自己的解压目录设置
#java environmentexport JAVA_HOME=/usr/jdk1.8.0_281export CLASSPATH=.:J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar:JAVA
HOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar:J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH=JAVA 
HOME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin
效果如下

点击esc 进入命令模式 输入:wq 保存修改信息
然后键入命令source /etc/profile 使配置文件生效。
6、测试是否安装成功
键入命令 java -version 查看。

七、centos7下安装mysql5.7:
1、安装wget
yum -y install wget
2、下载rpm包
sudo wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpmsudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm
3、yum 安装mysql-community-server
sudo yum -y install mysql-community-server 
这一步比较耗时
4、启动mysql
sudo systemctl start mysqld 
5、设置开机启动
sudo systemctl enable mysqld 
6、查找初始密码
在/var/log/mysqld.log文件中找到初始密码
cat /var/log/mysqld.log 

此处初始密码为:waf_eHWkr42K
7、登陆mysql
sudo mysql -uroot -p 
输入初始密码:waf_eHWkr42K
8、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '1qaz!QAZ'; 
 
密码强度默认规则为(长度最少8位,包含大小写字母、数字、特殊字符)
9、设置允许远程登陆
1.执行授权命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz!QAZ' WITH GRANT OPTION; 
 
2.退出mysql操作控制台
exit
3.开放3306端口
开启防火墙
sudo systemctl start firewalld.service 
 
永久开放3306端口
sudo firewall-cmd --add-port=3306/tcp --permanent 
 
重新加载
sudo firewall-cmd --reload 
关闭防火墙
sudo systemctl stop firewalld.service 
10、设置默认编码为utf8
查看修改前mysql编码
show variables like '%chara%';
1

修改/etc/my.cnf文件,加入下面两行
sudo vi /etc/my.cnf
character_set_server=utf8
init_connect='SET NAMES utf8'

修改后,重启mysql
sudo systemctl restart mysqld 
 
查看修改后的mysql编码

11、测试
使用navicat连接mysql

数据文件位置:/var/lib/mysql配置文件位置:/etc/my.cnf日志文件位置:/var/log/mysqld.log
八、centos7实现springboot项目开机自启动:
1、导入数据库
导入mysql数据库。
2、上传打包好的jar包文件
上传jar包到到/usr/local/project/ 。
试运行java -jar springboot.jar
3、新增service文件
在 /etc/systemd/system/ 目录下面编辑一个以service为后缀的文件:
cd /etc/systemd/systemvi java.service
文件内容如下:
[Unit]Description=javaAfter=syslog.target[Service]Type=simpleExecStart=/usr/jdk1.8.0_281/bin/java -jar /usr/local/project/springboot.jar[Install]WantedBy=multi-user.target
其中:/usr/jdk1.8.0_281为jdk安装路径,/usr/local/project/springboot.jar 为打包好的jar包文件。
4、添加执行权限
chmod +x /etc/systemd/system/java.service
5、重新加载服务
systemctl daemon-reload
6、启动服务并加入开机自启动
systemctl start java
systemctl enable java
ps -ef | grep “java”| grep -v grep
systemctl status java.service -l
九、centos7下安装Tomcat8.5:
1、下载tomcat8.5
https://tomcat.apache.org/download-80.cgi

2、上传打包好的jar包文件并解压
上传到/usr/。
tar -zxvf apache-tomcat-8.5.63.tar.gz
3、tomcat增加启动参数
tomcat 根目录下需要增加一个pid文件tomcat.pid。
touch tomcat.pid
在tomcat/bin 目录下面,增加 setenv.sh 配置,catalina.sh启动的时候会调用,同时配置Java内存参数。
export CATALINA_HOME=/usr/apache-tomcat-8.5.63export CATALINA_BASE=/usr/apache-tomcat-8.5.63#add tomcat pidCATALINA_PID="$CATALINA_BASE/tomcat.pid"#add java optsJAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
4、新增service文件
在 /etc/systemd/system/ 目录下面编辑一个以service为后缀的文件:
vi /etc/systemd/system/tomcat.service
文件内容如下:
[Unit]Description=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingEnvironment="JAVA_HOME=/usr/jdk1.8.0_281"PIDFile=/usr/apache-tomcat-8.5.63/tomcat.pidExecStart=/usr/apache-tomcat-8.5.63/bin/startup.shExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target
5、添加执行权限
chmod +x /etc/systemd/system/tomcat.service
6、重新加载服务
systemctl daemon-reload
7、启动服务并加入开机自启动
直接启动
systemctl start tomcat
加入开机启动
systemctl enable tomcat
查看启动状态
systemctl status tomcat.service
停止服务
systemctl stop tomcat
查询tomcat 进程
ps -ef | grep “tomcat”| grep -v grep
如果多个tomcat,则拷贝到不同的目录,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service
8、重启服务器
重启,试试能不能访问。
相关文章:
手把手教你将项目部署到服务器!
一、导入centos7虚拟机: 打开VMWare,点击“打开虚拟机”,选择centos7.ova之后,选择存储路径: 点击导入: 选择“不再显示此消息”,点击“重试”按钮: 点击“编辑虚拟机设置”&#x…...
OpenHarmony应用开发-ArkUI方舟开发框架简析
方舟开发框架(简称ArkUI)为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界…...
【Transformer系列(4)】Transformer模型结构超详细解读
前言 前一篇我们一起读了Transformer的论文《Attention Is All You Need》,不知道大家是否真的理解这个传说中的神(反正俺是没有~) 这两天我又看了一些视频讲解,感谢各位大佬的解读,让我通透了不少。 这篇文章就和…...
Idea启动运行报错:Error:java: 无效的源发行版: 13
最近在做Springboot项目时,常常出现上述错误,小编也不知道怎么回事,到网上找了这个方面的解决办法,但是却发现根本解决不了,最终通过小编多次尝试,终于发现,为什么会报这个错误。(应该是Java版本…...
【元分析研究方法】学习笔记1.形成问题
步骤1 形成问题 该步骤的作用该步骤中需要注意的问题该步骤中部分知识点我的收获 参考来源:库珀 (Cooper, H. M. )., 李超平, & 张昱城. (2020). 元分析研究方法: A step-by step approach. 中国人民大学出版社. 这章内容很简单:①变量的刻画&#x…...
2023年3月 青少年软件编程(Python) 等级考试试卷(五级)
一、单选题(共25题,共50分) 1.已知一个列表lst [2,3,4,5,6],lst.append(20),print(lst)的结果是?(C)(2分) A.[10,2,3,4,5,6,20] B.[20,2,10,3,4,5,6] C.[2,3,4,5,6,20] D.[2,3,4,5,…...
必须要知道的hive调优知识(上)
Hive数据倾斜以及解决方案 1、什么是数据倾斜 数据倾斜主要表现在,map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其…...
什么是Cache Aside Pattern与延迟双删
Cache Aside Pattern是一种常用的缓存设计模式,用于在应用程序中使用缓存提高系统性能的同时,避免缓存与数据库数据不一致的情况出现。延迟双删是Cache Aside Pattern的一种优化,可以进一步提高系统性能。 以下是关于Cache Aside Pattern和延…...
frp 流量特征
frp 流量特征 非常明显的明文流量特征...
Unity --- UGUI(Unity Graphical user interface)--- Canvas画布
1.UI --- User Interface --- 使用者与机器之间的交互界面 1.所谓的自适应系统指的是分辨率的适应: 比如在一个分辨率下做的UI放到另一个分辨率下显示时,如果没有自适应系统的话就会导致UI过大,过小,被辟成一半等等情况ÿ…...
c++积累6-内联函数
1、说明 内联函数是c为提高程序运行速度所做的一项改进。 2、常规函数运行 编译的可执行程序:由一组机器语言指令组成。 程序执行: 1、操作系统将这些指令载入到内存,每条指令都有一个特定的内存地址 2、计算机逐步执行这些指令 3、如果有…...
ESP32学习笔记13-MCPWM主要用于无刷电机驱动
16.MCPWM 16.1概述 ESP32 有两个 MCPWM 单元,可用于控制不同类型的电机。每个单元都有三对PWM输出 每个 A/B 对可由三个定时器定时器 0、1 和 2 中的任何一个计时。 同一定时器可用于为多对PWM输出提供时钟。 每个单元还能够收集输入,例如,检测电机过电流或过电压,以及获得…...
MyBatis-plu 和 JPA 对比
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 MyBatis-plu 和 JPA 前言一、说下相同点二、差异点一、从实现来说:CURD实现方式不一样二、分页上三、雪花id四、伪删除五、子类排除父类的字段 总结 前言 提示&…...
一文详解Python中多进程和进程池的使用方法
这篇文章将介绍Python中多进程和进程池的使用方法,并提供一些实用的案例供大家参考,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下 目录 Python是一种高级编程语言,它在众多编程语言中,拥有极高的人气和使用率。…...
前端部署发布项目后,如何通知用户刷新页面、清除缓存
以下只是一些思路,有更好的实现方式可以留言一起交流学习 方式一:纯前端 在每次发布前端时,使用webpack构建命令生成一个json文件,json中写个随机生成的一个字符串(比如时间戳),每次打包程序都…...
项目上线|慕尚集团携手盖雅工场,用数字化推动人效持续提升
过去十年,中国零售业以前所未有的速度被颠覆、被重塑,数字化则是其中重要的推动要素。 随着数字化转型的深入,零售企业的数字化不再局限于布局线上渠道,且更关乎其背后企业核心运营能力的全链路数字化改造。而贯穿于运营全链路的…...
Java重载 与封装、继承
方法重载 在同一个类中,出现了方法名相同,参数不同的方法时 ,我们叫方法重载 作用:根据不同参数,选择不同方法 实例 public static void main(String[] args){public int add(int a,int b){return ab;}public double…...
sed正则表达式替换字符方法
在 Linux 命令行中,可以使用 sed 命令来替换指定文件中的指定字符。具体方法如下: sed -i s/<old_string>/<new_string>/g <filename>其中,<old_string> 表示要被替换的字符串,<new_string> 表示替…...
不讲废话普通人了解 ChatGPT——基础篇第一课
wx供重浩:创享日记 获取更多内容 文章目录 前言什么是 ChatGPT它是如何工作的ChatGPT 和其它机器人有什么不同 前言 不知道大家在第一次会使用 ChatGPT 并尝试和他对话时有没有感到震惊。当ChatGPT首次推出时,我立即被它的功能所吸引。 曾经在遇到繁杂…...
MATLAB计算气象干旱指标:SAPEI
MATLAB计算干旱指标:SAPEI 标准化前降水蒸散发指数(Standardized Antecedent Precipitation Evapotranspiration Index, SAPEI)1 指数简介1.1 指数计算原理步骤1:计算潜在蒸散发(potential evapotranspiration, PET)步骤2:计算降水和PET的日差1.2 数据资料1.3 拟合分布的…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
