记录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_JDK**** Index 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 &

四、检查

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

相关推荐
一点媛艺8 分钟前
Kotlin函数由易到难
开发语言·python·kotlin
姑苏风12 分钟前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生1 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功1 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2341 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨1 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程2 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk3 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*3 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue3 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang