非root用户启动tomcat或者说启动项目为什么用两个tomcat
sudo默认是需要tty的,通过修改/etc/sudoers文件,将 Defaults requiretty 注释掉即可
用root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。这意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用root启动tomcat
用非root账号是为了安全 不给运行的服务最高权限 这个跟守护进程没有关系。守护进程是linxu 的一个特性 跟 service 和systemctl 管理程序一样的。他是一个父进程 来管理下属子进程 比如服务挂了 他会自动尝试拉起服务。当然这里面还涉及到环境变量 jvm优化 日志输出处理等等 ,都是守护进程来处理,是需要更高的系统权限的。
守护进程是用来守护tomcat执行进程的 为了安全或者其他的需求 需要使用非root账号来启动tomcat 这个非root账号用来处理java相关的进程,另外会启用一个root账号来管理这个非root的进程,但是他不处理业务。换句话说 一个是父进程 一个是子进程。
使用非root用户运行tomcat有3中方法:
1.使用tomcat自带的工具jsvc,在在tomcat的bin目录下有一个jsvc.tar.gz的文件,进入tomcat的bin目录下
将其解压,得到jsvc-src文件夹,进入jsvc-src。在终端运行:
./configure --with-java=/usr/lib/j2sdk1.6-sun(改成你的JDK的位置)
make
得到jsvc-src/jsvc文件。将jsvc-src/native/tomcat6.sh脚本文件拷