直接开始正片:
开启serv00个人服务
开启serv00端口
添加开放端口,你的服务搭建在哪个端口上就输入哪个端口,我将服务部署在10768端口,所以这里输入10768,类型TCP,直接点击ADD
新建cloudflare DNS解析
在cloudflare上添加二级域名解析,ipv4地址可以随意填写我这里使用cloudflare的ip,你也可以填写自己服务器的ip,不要开启小云朵。
在serv00管理页面添加DNS域名
查看解析记录
找到解析A记录的ip地址
将cloudflare的解析ip修改为A记录的ip地址,并开启小云朵
开启始终使用 HTTPS
在serv00上添加站点,域名填写解析的二级域名(例如:jb.example.xyz),类型选择Proxy,端口选择刚才开放的端口10768,不要勾选Use HTTPS
添加站点后会在服务器的domains目录下生成和你的二级域名一样的文件夹
部署包根据以下帖子制作,感谢大佬
【Jetbrains License】纯Java版本地搭建,了解/学习/质疑/解决/熟悉/掌握/改造,一站式证书/Agent/ActiveCode生成
下载部署压缩包(临时注册的Tebi存储)
Jetbrains-Help部署包链接
通过File manager将部署压缩包上传到serv00服务器中,你的二级域名文件夹下
SSH连接serv00服务器,使用unzip命令解压
unzip Jetbrains-Help.zip
1.修改application.yml文件中的账号密码和端口
端口号一定要与之前开放的serv00端口相同,否则无法启动
spring:
application:
name: Jetbrains-Help
thymeleaf:
cache: false
security:
user:
#请自行修改账户密码
name: admin
password: admin123
server:
#请自行修改端口
port: 10768
help:
default-license-name: 光云
default-assignee-name: 藏柏
default-expiry-date: 2111-11-11
2.修改启动脚本start.sh中的路径
只需要修改标注的两处地址
#!/bin/bash
# 脚本设置 Java 运行时参数和启动应用程序
JAVA_OPTS="-Duser.timezone=GMT+08"
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
# 修改下面的路径为你的二级域名文件夹地址
JAVA_OPTS="$JAVA_OPTS -Dspring.config.location=/usr/home/username/domains/jb.example.xyz/application.yml"
JAVA_OPTS="$JAVA_OPTS -Xss256m"
JAVA_OPTS="$JAVA_OPTS -Xmx256m"
# 修改下面的路径为你的二级域名文件夹地址
JAR_PATH="/usr/home/username/domains/jb.example.xyz/Jetbrains-Help.jar"
# 启动应用程序的函数
start() {
# 检查是否已经有该进程在运行
PID=$(pgrep -f "$JAR_PATH")
if [ -n "$PID" ]; then
echo "应用程序已经在运行(PID:$PID)。"
else
echo "正在启动应用程序..."
java $JAVA_OPTS -jar $JAR_PATH & # 在后台运行应用程序
echo "应用程序已启动。"
fi
}
# 停止应用程序的函数
stop() {
# 查找正在运行的进程 ID
PID=$(pgrep -f "$JAR_PATH")
if [ -n "$PID" ]; then
echo "正在停止应用程序(PID:$PID)..."
kill $PID # 停止应用程序进程
echo "应用程序已停止。"
else
echo "应用程序没有在运行。"
fi
}
# 重启应用程序的函数
restart() {
stop
sleep 5
start
}
# 主函数:根据命令行参数执行操作
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "用法:$0 {start|stop|restart}"
exit 1
;;
esac
3.服务,启动!开始爽
在二级域名文件目录下运行启动脚本
# cd 进入你的二级域名文件夹
cd /usr/home/username/domains/jb.example.xyz
# 添加脚本权限
chmod +x start.sh
# 启动服务
./start.sh start
# 重启动服务
./start.sh restart
# 关闭服务
./start.sh stop
出现下列信息表示启动成功,可以直接Ctrl +C,程序会在后台运行
输入你的二级域名进入网站,输入在application.yml文件中设置的账号和密码
关于原项目修改部分
- 添加了spring-boot-starter-security用于鉴权
1.添加pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
2.添加SecurityConfig类
package com.jetbrains.help.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// 关闭csrf防护
.csrf().disable()
.headers().frameOptions().disable()
.and();
http
.formLogin()
// 使用默认登录页面
.loginProcessingUrl("/login") // 登录表单的提交 URL
.defaultSuccessUrl("/") // 登录成功后的跳转页面
.failureUrl("/loginError") // 登录失败后的跳转页面
.permitAll()
.and();
http
.authorizeRequests() // 授权配置
// 允许访问无需权限的资源
.antMatchers("/static/**").permitAll()
// 其他请求都需要经过认证
.anyRequest().authenticated()
.and();
}
}
3.添加相应的配置
spring:
application:
name: Jetbrains-Help
thymeleaf:
cache: false
# 添加配置
security:
user:
name: admin
password: admin
server:
port: 10768
help:
default-license-name: 光云
default-assignee-name: 藏柏
default-expiry-date: 2111-11-11
关于后续更换密码的操作
直接修改二级域名目录下的application.yml文件中的账号和密码
重启服务
./start.sh restart
关于serv00服务器重启的问题
听说serv00会不定时重启 直接添加两个定时任务你如何应对?
在serv00页面添加定时任务
/usr/home/username/domains/jb.example.xyz/start.sh restart
再添加一个每小时重启一次的定时任务,有备无患
感谢
【Jetbrains License】纯Java版本地搭建,了解/学习/质疑/解决/熟悉/掌握/改造,一站式证书/Agent/ActiveCode生成