早上上班后,一个朋友来消息,说是使用xshell在控制台执行java -jar命令,但是退出xshell后,进程就消失了。
这个问题好解决
nohup java -jar xxx &
并且会在当前执行路径下生成一个nohup.out文件,可以用于查看该进程控制台输出的进程。
如果要停止该服务,可以使用 ps aux | grep java
,然后kill xxx
。
接着,朋友说,是否可以在该服务停止服务的时候得到通知。
这个就是部署一个监控了。
之前积累的文件派上用场了。
首先登录该服务器,查看该机器系统和配置
- 使用top,判断cpu为8C,mem 24GB,磁盘50GB。
- 使用cat /etc/os-relase查看系统为CentOS7。
- 使用
ping www.baidu.com
,判断dns工作正常,联网正常。
打开hao123.sddts.cn,打开事半功倍,开始
- 安装docker
- 安装docker-compose
- 关闭selinux,否则容器无法运行
- 安装uptime-kuma并配置,发送测试邮件正常
至此,该服务已经在后台正常运行,且加入了监控系统。
但是呢,还有优化空间
将java程序启动改成tomcat或者改成systemctl
[Unit] Description=My Java Application After=network.target [Service] User=your_username Group=your_group WorkingDirectory=/path/to/your/application ExecStart=/usr/bin/java -jar /path/to/your/application.jar SuccessExitStatus=143 Restart=always RestartSec=30 Environment=JAVA_HOME=/path/to/java_home Environment=JAVA_OPTS=-Xmx512m -Xms256m [Install] WantedBy=multi-user.target
开机自启动uptimekuma
cat <<'EOF'>/etc/systemd/system/uptime-kuma.service [Unit] Description=Start Docker Compose in /opt/uptime-kuma Requires=docker.service After=docker.service [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/opt/uptime-kuma ExecStart=/bin/docker-compose up -d ExecStop=/bin/docker-compose down [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable uptime-kuma systemctl restart uptime-kuma
- 配置docker,优化日志轮转