记录linux从0部署java项目(宝塔)

目录

一、安装宝塔可视化界面

 二、部署前端

三、部署后端

1、配置并连接Mysql数据库

2、配置并连接redis

3、安装jdk

这里先记录一个安装后遇到的问题

安装openJDK

四、检查


一、安装宝塔可视化界面

宝塔面板下载,免费全能的服务器运维软件

运行安装脚本

安装完成后

访问内网面板地址,填写用户名密码。

在软件商店中安装nginx、mysql、redis

开放3306和6379端口(为了本地测试连接)如果是阿里云服务器记得去安全组开放端口

 二、部署前端

运行npm run build:prod

得到打包后的前端文件dist

通过宝塔上传(目录自定)
我这里是/www/wwwroot/saas_inspection/front-admin

添加站点

 

完成后可以直接访问  域名或ip+:端口看看我们部署的项目

我们会发现有刷新404的问题

我部署的前端项目有个转发路径prod-api需要再去nginx里配置代理

添加完站点后会自动生成一nginx的配置文件存放位置根据nginx主配置文件找

图中可以看出文件位置在/www/server/panel/vhost/nginx/*.conf

切过去看看

cd /www/server/panel/vhost/nginx/

ls

 vim xxx.conf

 在server里添加,我的后端项目端口为8080

  #配置代理 

   location /prod-api/ {
        proxy_pass http://服务器路径:8080/;
    }
    #防止返回404
    location / {
         root   /www/wwwroot/saas_inspection/front-admin/dist;
         try_files $uri $uri/  /index.html;
         index  index.html index.htm;
    }

结束后重启nginx

nginx -s reload

前端over! 

三、部署后端

1、配置并连接Mysql数据库

获取到mysql,root密码

在终端登录mysql输入

 use mysql
 select host from user where user='root';

查询到如果是localhost或者127.0.01则改为%(这里不改本地可视化工具连接不上root)

修改指令:

update user set host = '%' where user = 'root';

flush privileges;   //刷新配置

navicat  mysql连接成功。

2、配置并连接redis

找到配置文件

ctrl + f 查找

bind 127.0.0.1把它注释了

protected-mode 本来是yes改成no


redis刚安装好是没有密码的如果要设置密码的话在配置文件中加上

requirepass 123(表示密码是123)

本地连接测试一下,redis搞定。

3、安装jdk

我的项目安装的是jdk19。

这里先记录一个安装后遇到的问题

本来我是下载了官方的jdk19(rpm)

安装完成后运行我的java程序没有报错,但在登录时发送了错误:

cn.hutool.crypto.CryptoException: SecurityException: JCE cannot authenticate the provider BC

是由于我的项目中在使用加密的第三方类时,验证签名不过关导致的。

具体可看博客:升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC-CSDN博客

解决的办法就是安装openJdk

安装openJDK

先检查服务器中是否已经存在jdk环境

rpm -qa|grep jdk

 如果有则卸载

yum -y remove java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

 检查是否卸载成功

 [root@localhost /]# java -version
-bash: java: 未找到命令

下载openJDK到本地 

 清华大学开源镜像站:https://url.zeruns.tech/Tuna_JDKIndex of /Adoptium/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://url.zeruns.tech/Tuna_JDK

通过宝塔上传到服务器上 

cd 到上传的目录然后解压

tar -zxvf OpenJDK19U-jdk_x64_linux_hotspot_19.0.2_7.tar.gz 

 解压好后ls得到jdk目录jdk-19.0.2+7

配置环境

vim /etc/profile

 注意路径填写正确我这里拿/opt举例

export JAVA_HOME=/opt/jdk-19.0.2+7 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

完成后

source /etc/profile 

java -version

 

jdk安装成功!

 4、后端项目打包

配置yml文件

端口8080

mysql配置

redis配置

 

打包

得到jar包

上传到服务器上。

cd 到对应目录。

//正常启动,关闭终端则会退出程序

java -jar xxx.jar

//后台启动关闭终端也不会退出

nohup java -jar xxx.jar &

四、检查

访问前端地址,查看是否和后端对接成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/543791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 社区版 安装总结

很早就安装过MySQL,没有遇到过什么问题,直接next就行了,这次在新电脑上安装却遇到了一些问题,记录一下。 安装的是MySQL社区版,下载地址是www.mysql.com,进入后选择DOWNLOAD页面,选择MySQL Com…

基本的数据类型在16位、32位和64位机上所占的字节大小

1、目前常用的机器都是32位和64位的,但是有时候会考虑16位机。总结一下在三种位数下常用的数据类型所占的字节大小。 数据类型16位(byte)32位(byte)64位(byte)取值范围char111-128 ~ 127unsigned char1110 ~ 255short int / short222-32768~32767unsigned short222…

HarmonyOS实战开发-自定义通知角标、如何设定应用的桌面图标角标的功能。

介绍 本示例主要展示了设定应用的桌面图标角标的功能,使用ohos.notificationManager 接口,进行桌面角标的设置,通知的发送,获取等。 效果预览 使用说明 在使用本应用时,需安装并启动仿桌面应用;在主界面…

LeetCode 57—— 插入区间

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 第一步,我们先寻找新区间和原始区间列表的重叠部分。 假设新区间为 [ x 1 , x 2 ] [x_1, x_2] [x1​,x2​],原始区间列表中的其中一个区间为 [ y 1 , y 2 ] [y_1, y_2] [y1​,y2​]&…

PostgreSQL入门到实战-第三十弹

PostgreSQL入门到实战 PostgreSQL教程网站官网地址PostgreSQL概述更新计划 PostgreSQL教程网站 https://www.postgresqltutorial.com/ 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://www.postgresql.org/PostgreS…

【数据工具】ArcGIS批量出图工具箱

工具下载链接:数据下载链接 我们在使用Arcgis制图的过程中,经常会遇到需要大量出图的情况,如何将做好的图批量导出jpg是一件令人头疼的问题。 今天小编就给大家分享俩个ArcGIS批量出图的工具箱,一个可以批量导出图层为jpg&#…

运筹说 第112期 | M/M/s等待制排队模型

通过上期学习,大家已经了解了排队论中的一些基本概念,以及生灭过程和Poisson过程。 那么本期小编将基于这些基本原理,为大家介绍M/M/s混合制排队模型,包括单服务台模型和多服务台模型,介绍模型的概念以及推导过程等内容…

PoE 技术

1 PoE 技术产生背景 随着 WLAN 、 VoIP 、网络视频监控等新业务的飞速发展,大量的无线 LAN 访问点、 IP 电话、 IP 网络摄像头等基于 IP 的终端出现在工业现场。这些设备通常数量众多、位置特殊 、 布线复杂、设备取电困难,其实施部署不仅消耗大量人力物力,…

【数据结构与算法】搜索算法(深度优先搜索 DFS和广度优先搜索 BFS)以及典型算法例题

目录 搜索算法(深度优先搜索DFS和广度优先搜索BFS)以及典型算法例题深度优先搜索 (Depth First Search 简称 DFS)DFS 的设计步骤深度优先搜索(DFS)算法例题例题一:N皇后问题例题二:路…

FreeRTOS学习 -- FreeRTOSConfig.h介绍

一、FreeRTOSConfig.h文件 FreeRTOS 的系统配置文件为 FreeRTOSConfig.h,在此配置文件中可以完成 FreeRTOS 的裁剪和配置。 FreeRTOS 的配置基本是通过在 FreeRTOSConfig.h 中使用“#define”这样的语句来定义宏定义实现的。在 FreeRTOS 的官方 demo 中&#xff0…

CentOS7离线升级OpenSSH_8.8p1

一、环境 centos7.9,升级openssh到8.8p1最新版本 二、下载升级包 # openssl和zlib为相关依赖 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz wget https://www.openssl.org/source/openssl-1.1.1j.tar.gz wget http://www.zlib.net/zl…

mysql dll文件的缺失和Can‘t connect to MySQL server on ‘localhost‘ (10061)

个人笔记(整理不易,有帮助,收藏点赞评论,爱你们!!!你的支持是我写作的动力) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔…

数学:人工智能学习之路上的“拦路虎”及其背后的奥秘

在人工智能的浪潮席卷全球的今天,越来越多的人开始涉足这一领域,以期掌握其核心技术,为未来的科技发展贡献力量。然而,在学习的道路上,许多人却遇到了一个不小的挑战——数学。为何数学会成为学习人工智能的“拦路虎”…

js学习总结

这里写目录标题 前情提要JavaScript书写位置1. 内部javaScript (不常用)2. 外部javaScript (常用)3.内联javaScript (常用) js中的输入和输出输出语法1. document.write()2. alert()3. console.log() 输入语法prompt() 前情提要 1. 在javaScript中的 分号 是可以省略的JavaScr…

rocketmq面试

broker主从复制机制 同步复制: 等Master和Slave均写成功后,才反馈给客户端写成功状态; 如果Master出故障, Slave上有全部的备份数据,容易恢复,但是同步复制会增大数据写入延迟,降低系统吞吐量。…

SMS垃圾短信识别项目

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 项目背景 随着数字通信的快速发展,垃圾短信成为了一个普遍而烦人的问题。这些不请自来的消息不仅打扰了我们的日常生活,…

视频基础学习六——视频编码基础三(h264框架配合图文+具体抓包分析 万字)

系列文章目录 视频基础学习一——色立体、三原色以及像素 视频基础学习二——图像深度与格式(RGB与YUV) 视频基础学习三——视频帧率、码率与分辨率 视频基础学习四——视频编码基础一(冗余信息) 视频基础学习五——视频编码基础…

Redis漏洞利用

未授权 可以利用超级弱口令工具来判断redis是否能未授权登录 telnet #尝试登录info #查看redis信息 RCE方法 写shell 需要写权限需要知道web网站路径 config set dir /var/www/html config set dbfilename redis.php set test "<?php phpinfo(); ?>" sa…

低成本,高效能:探索物联网新宠LoRa

LoRa是什么&#xff1f; LoRa是一种物联网无线传输技术&#xff0c;利用调制解调器实现低功耗远距离数据传输。其基本工作原理是通过基站发送数据到特定终端设备&#xff0c;实现双向数据传输。 LoRa无线传输技术是一种为低功耗和低成本设计的无线技术&#xff0c;用于实现远距…

mybatis的使用技巧7——mysql中in,exists,join的用法和区别

在实际项目开发中&#xff0c;sql查询中的连表查询和子查询用的是最多的&#xff0c;但是很多人对于in&#xff0c;exists&#xff0c;join的用法认识不足&#xff0c;随意运用&#xff0c;这种情况如果在大数据量查询时&#xff0c;会存在很大的隐患。 一.子查询&#xff08;…