egret+java小游戏服务端08-配置SpringBoot开发、生产环境和对应的日志输出,Linux服务器部署


前言

服务端GitHub地址:https://github.com/griii/Hak-Server
小游戏网址:https://www.guorii.cn/hak

上文中配置了玩家指令的日志输出,由于在开发环境中并不需要输出玩家指令,因此应该将开发环境和生产环境的日志输出级别分开来,而先前因为一直没有这方面的需求,所以一直没有配置环境。

配置环境

上文中配置了玩家指令的日志输出,由于在开发环境中并不需要输出玩家指令,因此应该将开发环境和

新建两个properties文件
在这里插入图片描述
将默认的文件内容改为

spring.profiles.active=dev
#默认配置为开发环境...

由于开发生产环境的端口配置没有差别,因此另外两个文件内容相同。

配置日志输出

对于logback在不同的生产环境,仅需配置springProfile即可

<!-- 开生产境下的日志输出 -->
    <springProfile name="dev">
        <!-- 日志输出级别 -->
        <root level="INFO">
            <appender-ref ref="STDOUT" />
        </root>
    </springProfile>

    <!-- 部署到生产模式下的日志输出 -->
    <springProfile name="prod">
        <!-- 玩家指令专属的日志输出 -->
        <logger name="com.guorui.hak.config.aspectConfig.LogInstructAspect" level="INFO" additivity="false">
            <appender-ref ref="PLAYER_INSTRUCT" />
        </logger>
    </springProfile>

测试后,在生产环境下不再输出玩家指令日志文件
在这里插入图片描述

尝试部署到Linux服务器中

先在java中打成Jar包,然后通过Putty的pscp传输到Linux服务器
在这里插入图片描述
上传成功了
在这里插入图片描述
结果发现服务器jdk还没装好。。。

在oracle官网下载jdk11版本,解压
在这里插入图片描述

通过vim /etc/profile
打开配置环境变量
在末尾添加

export JAVA_HOME=/jdk/jdk-11.0.11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

:wq保存

通过命令source /etc/profile让profile文件立即生效

[root@localhost local]# source /etc/profile

然后测试是否配置成功:
在这里插入图片描述
使用指令
java -jar Hak.jar --spring.profiles.active=prod
spring.proifiles.active=prod设置运行环境为生产环境

运行结果如下:
在这里插入图片描述
通过Ctrl+C结束程序运行
去指定目录查看日志是否输出成功

在这里插入图片描述

成功了,在生产环境不在控制台输出日志,而是在日志文件中输出日志。

不过有一个问题:在Linux下使用前指令只能在前台运行,无法像Windows一样最小化后台运行

使用指令
nohup java -jar Hak.jar --spring.profiles.active=prod >temp.txt &

其中nohup代表一直在后台不间断运行(即使关闭ssh端也不会停止)
temp.txt代表把控制台输出的内容转移到temp.txt中
末尾的&代表该程序在后台运行。

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

出现了
在这里插入图片描述
百度了一下,使用新命令
nohup java -jar Hak.jar --spring.profiles.active=prod >temp.txt 2>&1 &

回车后,会自动输出这个jar包运行的pid(应该是,反正可以根据这个数据kill它)

2> 表示把标准错误重定向

&1 表示标准输出

&2 表示标准错误

可通过jobs命令查看后台运行任务,会列出所有后台执行的作业,并且每个作业前面都有个编号。如果想将某个作业调回前台控制,只需要 fg + 编号即可。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值