首页 > 系统相关 >记录linux从0部署java项目(宝塔)

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

时间:2024-04-08 15:30:56浏览次数:25  
标签:宝塔 java jdk mysql redis nginx linux 安装

目录

一、安装宝塔可视化界面

 二、部署前端

三、部署后端

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 &

四、检查

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

标签:宝塔,java,jdk,mysql,redis,nginx,linux,安装
From: https://blog.csdn.net/feng_ling_01/article/details/137504214

相关文章

  • Linux系统部署
    一、操作系统没有安装操作系统的计算机——裸机如果想在裸机上运行自己所编写的程序,就必须用机械语言(11010101)书写程序作用直接操作硬件将操作硬件的代码封装成系统调用二、不同应用领域的操作系统1.桌面操作系统Windows系列:用户群体大(推广时间长,应用软件多);安全性、......
  • Linux基础操作命令(1)
    一、Linux简要介绍Linux内核最初只是由芬兰人林纳斯·托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的......
  • 利用Java实现每周二上午十点定时调用接口的方法
    摘要:在软件开发中,定时任务是一项常见的需求,特别是需要定期执行一些特定操作的场景。本文将介绍如何利用Java编程语言实现每周二上午十点定时调用接口的功能。通过使用Java中的定时任务调度工具,我们可以轻松地实现这一功能,从而满足各种业务需求。正文:在Java中实现定时任务......
  • 最新!Java8 中获取当前时间,日期处理,求闰年?LocalDateTime的详细使用,DateTimeFormatter使
    文章目录1.格式化日期和时间使用DateTimeFormatter(Java8)2.获取当前日期的方法2.1System.currentTimeMillis()2.2java.util.Date2.3CalendarAPI2.4Java8的TimeAPI(优先使用,重要!)LocalDate(第4点求闰年)LocalTimeLocalDateTime小结(Java8中轻松格式化日期和时间......
  • JavaEE初阶Day 5:多线程(3)
    目录Day5:多线程(3)1.join2.再谈sleep3.线程的状态4.线程安全问题Day5:多线程(3)多线程在整个编程中都是非常核心非常重要的话题多核CPU客观的主流的需求多线程这里还是有一定难度/不少注意事项的回顾Thread创建的写法继承Thread,重写run实现Runnable,重写run......
  • Java语言知识点
    目录java基础语法基础语法关键特性面向对象封装继承方法覆盖&多态superjava进阶语法进阶-面向对象进阶-数组进阶-常用类进阶-异常处理进阶-集合进阶-IO流进阶-多线程进阶-反射机制进阶-注解java框架系列maven框架springspring-mybatismybatis框架springmvc微服务架构springboot框......
  • 在linux 创建单分区 BIOS & UEFI双启动的USB启动盘
    简介:还在折腾PXE启动,UEFI的在WDS,一直无法正常启动,也不知道哪里的问题。反正以后还要在WDS上面加多一层引导,前面用的grub4dosgrub4dosuefi。可能是不支持吧,所以折腾一下GRUB2吧。安装linux我习惯使用fedora,现在用的是39的版本。安装包dnfinstallgrub2-commongrub2-pc......
  • Java 解决 Process 执行命令行命令报【CreateProcess error=2, 系统找不到指定的文件
    目录问题问题代码解决方案判断操作系统问题使用Process执行命令行命令时,报 CreateProcesserror=2,系统找不到指定的文件。但明明指定的文件是存在的。而且这种错误只在 IDEA中运行会报错,打包后直接java-jar运行就能正常运行,不会报错。问题代码publicclas......
  • 中文地址实现去重计算-Java
    地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。在电商场景中经常会遇到多源地址去重的场景,需要分析不同渠道的地址是否指向同一户,由于同一个地址可能会有不同书写方法,导致无法通过简单的去重和等值关联进行,为了......
  • 实验:基于Red Hat Enterprise Linux系统建立逻辑卷并进行划分
    目录一.实验目的二.实验内容三.实验设计描述及实验结果    1.为虚拟机添加三块大小为5GB的磁盘nvme0n2 nvme0n3 nvme0n4    2.将三块硬盘转换为物理卷,并将nvme0n2 nvme0n3两pv建立成名为"自己名字_vg“的卷组,并将nvme0n4扩展进该卷组。    ......