如图,已启动成功,效果如图。启动日志在nohup.out里面。2020-11-06 18:45:09.304 INFO 16840 --- [ main] o.s.c.g.r.RouteDefinitionRouteLocator : Loaded RoutePredicateFactory [ReadBodyPredicateFactory]
2020-11-06 18:45:09.304 INFO 16840 --- [ main] o.s.c.g.r.RouteDefinitionRouteLocator : Loaded RoutePredicateFactory [RemoteAddr]
2020-11-06 18:45:09.304 INFO 16840 --- [ main] o.s.c.g.r.RouteDefinitionRouteLocator : Loaded RoutePredicateFactory [Weight]
2020-11-06 18:45:09.304 INFO 16840 --- [ main] o.s.c.g.r.RouteDefinitionRouteLocator : Loaded RoutePredicateFactory [CloudFoundryRouteService]
2020-11-06 18:45:10.345 INFO 16840 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 19 endpoint(s) beneath base path '/actuator'
2020-11-06 18:45:10.597 INFO 16840 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'Nacso-Watch-Task-Scheduler'
2020-11-06 18:45:11.761 INFO 16840 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8040
2020-11-06 18:45:11.890 INFO 16840 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP gateway 172.26.22.178:8040 register finished
2020-11-06 18:45:11.896 INFO 16840 --- [ main] com.itmuch.gateway.GatewayApplication : Started GatewayApplication in 10.227 seconds (JVM running for 11.524)
原因是这样的:
你的机器只有1G内存,内存太低了。
=====
默认情况下,Nacos Server需要占用512M内存,操作系统也需要占用一定内存,然后Gateway也是吃内存的大户,所以内存是不够用的。
当你个Gateway启动时,Linux操作系统会杀死掉内存资源高的进程(Nacos),留给Gateway使用。
这就是为什么你的Gateway一旦启动,Nacos Server的进程就会消失的原因。
=====
解决方案是:
方法1:
修改nacos/bin/startup.sh,找到类似如下的配置:if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
将其中的-Xms512m -Xmx512m -Xmn256m设小。
在你的服务器,我已经改为:-Xms256m -Xmx256m -Xmn128m
方法2:
升级你的服务器,比如到8G。