手把手教你将项目部署到服务器!
一、导入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.service
Removed 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 restart
Restarting 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> lpwd
d:/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 environment
export JAVA_HOME=/usr/jdk1.8.0_281
export 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.rpm
sudo 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/system
vi java.service
文件内容如下:
[Unit]
Description=java
After=syslog.target
[Service]
Type=simple
ExecStart=/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.63
export CATALINA_BASE=/usr/apache-tomcat-8.5.63
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_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=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/jdk1.8.0_281"
PIDFile=/usr/apache-tomcat-8.5.63/tomcat.pid
ExecStart=/usr/apache-tomcat-8.5.63/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=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 拟合分布的…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...