ssh连接服务器断开之后启动的项目被默认停掉了,nohup不起作用

本文介绍了一种解决SSH连接断开后启动的项目被默认停止的问题的方法,通过创建具有root权限的新用户来启动项目,确保即使SSH连接断开也能保持项目运行。此外,还介绍了如何为非root用户配置JDK和TOMCAT。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、背景

ssh连接服务器断开之后启动的项目被默认停掉了。
使用了nohup  ./nginx &。setsid等方法还是不行。
后面确定是中间的网关做了处理。会将当前登录的用户启动的进程都会停掉。

2、解决办法

创建新用户,并分配root权限,然后用新用户启动项目。断开ssh后就不会停进程了。
	 groupadd -g 9631 mygroup
	 useradd -u 9631 -g mygroup-d /home/myuser myuser
	 passwd myuser设置密码为XXX

 给新用户设置sudo权限:
	[root@localhost ~]# sudoers
	bash: sudoers: 未找到命令...
	[root@localhost ~]# whereis sudoers
	sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz

	[root@localhost ~]# ls -l /etc/sudoers
	-r--r----- 1 root root 4251 9月 25 15:08 /etc/sudoers
	
	[root@localhost ~]# chmod -v u+w /etc/sudoers
	mode of "/etc/sudoers" changed from 0440 (r--r-----) to 0640 (rw-r-----)
	
	[root@localhost ~]# vim /etc/sudoers
	在文件中找到下面这一行,并添加自己的用户
		root ALL=(ALL)  ALL 
		myuser ALL=(ALL)  ALL  #这个是新增的用户

	[root@localhost ~]# chmod -v u-w /etc/sudoers
	mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)
	
	[myuser @localhost ~]$ sudo cat /etc/passwd

Centos7.6非root用户配置JDK和TOMCAT

在centos7.6非root用户下启动tomcat时报错:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

解决:

在tomcat的/bin/目录下,找到setclasspath.sh

然后sudo vim  setclasspath.sh

在图中方框位置追加自己的JAVA_HOME和JRE_HOME
export JAVA_HOME=/usr/local/jdk1.7.0_67
export JRE_HOME=/usr/local/jdk1.7.0_67/jre

在这里插入图片描述

最后重新启动tomcat即可。注意,新用户需要有高级权限的话。都需要加上sodo;
sudo bin/startup.sh
或者 source /etc/profile; nohup java -jar XXXX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值