后端部署
application.uml
MySQL 的端口需要改为 Linux 服务器中 MySQL 的端口号
yml
#配置数据库连接信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.100.128:3306/tlias
username: root
password: 1234
servlet:
multipart:
max-file-size: 10MB #单个文件最大大小限制10MB
max-request-size: 100MB #单个请求最大大小限制100MB
#配置mybatis的日志输出到控制台
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#配置mybatis的驼峰命名的映射开关
map-underscore-to-camel-case: true
#查看事务管理的日志
logging:
level:
org.springframework.jdbc.support.JdbcTransactionManager: debug
#阿里云oss配置
aliyun:
oss:
endpoint: https://oss-cn-beijing.aliyuncs.com
bucketName: java422-web-ai改造完毕之后,可以在本地的 idea 中先启动当前项目,然后访问一下,看看工程是否正常访问

打包部署
(1)执行 package 指令,进行打包操作,将当前的 springboot 项目,打成一个 jar 包(跳过测试)

(2)在 Linux 服务器上创建一个目录,将 jar 包上传到服务器
bash
mkdir -p /usr/local/app(3)通过 java 命令,启动项目
bash
#进入目录/usr/local/app
cd /usr/local/app
#运行jar包
java -jar tlias-web-management.jar阿里云 OSS 密钥配置
由于在开发的时候,我们将访问阿里云 OSS 的 AccessKeyId,AccessKeySecret 都配置在了系统的环境变量中了。那现在项目部署到了 Linux 服务器中,调用阿里云 OSS 进行文件上传时,程序就会获取 Linux 系统中的环境变量。所以此时,我们需要将 AccessKeyId,AccessKeySecret 配置为 Linux 系统的环境变量
(1)查看 Windows 系统之前配置的环境变量
bash
echo %OSS_ACCESS_KEY_ID%
echo %OSS_ACCESS_KEY_SECRET%我们将上述自己的 AccessKeyId 与 AccessKeySecret 复制出来,然后在 linux 系统中配置环境变量
(2)执行如下指令
相关的 Key 替换成自己的
执行完毕后,将 finalShell 的窗口关闭掉,重新打开一个新窗口(让环境变量生效),重新运行项目测试
bash
echo "export OSS_ACCESS_KEY_ID=自己的密钥" >> /etc/profile
echo "export OSS_ACCESS_KEY_SECRET=自己的密钥" >> /etc/profile
source /etc/profile后台运行
问题分析
(1)线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
(2)线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
(3)要解决上述这两个问题,我们就可以通过 nohup 指令让程序在后台运行
后台运行指令
bash
nohup java -jar tlias-web-management.jar &> tlias.log &停止服务指令
bash
#查看服务的进程信息
ps -ef|grep tlias
#杀掉进程
kill -9 xxxxxnohup 指令
(1)nohup 命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
(2)语法格式: nohup command [ args … ] [&]
(3)参数说明
command:要执行的命令
args:一些参数,可以指定输出文件
&:让命令在后台运行
(4)举例
nohup java -jar boot 工程.jar &> hello.log &
上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到 hello.log 文件
