刚开始出现 latke 错误,我修改下 nginx 的配置文件好了,下来进入了刚开始的登陆账号页面,我点了一下登陆账号,就出现了上面的该网页无法正常运作,然后我进/admin,出现了 404 错误,郁闷
我贴上 solo 日志
[ERROR]-[2020-03-19 18:19:06]-[org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer:108]: Renders template [index.ftl] failed [Request [
method=GET,
URI=/,
contentType=null,
remoteAddr=111.19.51.28,
headers=[
Host=20160916.xyz
X-Real-IP=111.19.51.28
Connection=close
Cache-Control=max-age=0
Upgrade-Insecure-Requests=1
User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Sec-Fetch-Dest=document
Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site=cross-site
Sec-Fetch-Mode=navigate
Sec-Fetch-User=?1
Accept-Encoding=gzip, deflate, br
Accept-Language=zh-CN,zh;q=0.9
Cookie=skin=Pinghsu; LATKE_SESSION_ID=G10JCG3c0Z2LMohy; solo=c3275596cf820af420171b1ca1199d30d557a0b8e05a85ce5e1e519ab2a3ff0cf32cf2cea559b151cba973c65f67c45cf5dc255c99496cc486ec47feb37ac15e
content-length=0
]
]]
freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> statistic.statisticPublishedBlogCommentCount [in template "skins/Pinghsu/footer.ftl" at line 65, column 15]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${statistic.statisticPublishedBlogCom... [in template "skins/Pinghsu/footer.ftl" at line 65, column 13]
- Reached through: #include "footer.ftl" [in template "skins/Pinghsu/index.ftl" at line 37, column 1]
----
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:479) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.visit(Environment.java:331) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.visit(Environment.java:337) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.include(Environment.java:2694) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Include.accept(Include.java:171) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.visit(Environment.java:331) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.visit(Environment.java:337) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.core.Environment.process(Environment.java:310) ~[freemarker-2.3.29.jar:2.3.29]
at freemarker.template.Template.process(Template.java:383) ~[freemarker-2.3.29.jar:2.3.29]
at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.genHTML(AbstractFreeMarkerRenderer.java:126) ~[latke-core-3.2.13.jar:?]
at org.b3log.solo.processor.SkinRenderer.genHTML(SkinRenderer.java:86) ~[solo/:?]
at org.b3log.latke.http.renderer.AbstractFreeMarkerRenderer.render(AbstractFreeMarkerRenderer.java:102) [latke-core-3.2.13.jar:?]
at org.b3log.latke.http.Dispatcher.renderResponse(Dispatcher.java:124) [latke-core-3.2.13.jar:?]
at org.b3log.latke.http.Dispatcher.handle(Dispatcher.java:96) [latke-core-3.2.13.jar:?]
at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:82) [latke-core-3.2.13.jar:?]
at org.b3log.latke.http.ServerHandler.channelRead0(ServerHandler.java:38) [latke-core-3.2.13.jar:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at org.b3log.latke.http.WebSocketHandler.handleHttpRequest(WebSocketHandler.java:94) [latke-core-3.2.13.jar:?]
at org.b3log.latke.http.WebSocketHandler.channelRead0(WebSocketHandler.java:51) [latke-core-3.2.13.jar:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [netty-codec-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321) [netty-codec-4.1.46.Final.jar:4.1.46.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:295) [netty-codec-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-transport-4.1.46.Final.jar:4.1.46.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.46.Final.jar:4.1.46.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.46.Final.jar:4.1.46.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.46.Final.jar:4.1.46.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
求老哥们指点迷津
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于