为了使Jetty上的应用程序每次开机后都可以自动运行,需要把Jetty加入到Linux的service中。
使用chkconfig --list
命令可以查询现有的service:
将jetty.sh命令复制到etc/init.d路径下,将jetty加入到自启动服务中:
再次查看现有的service:
现在jetty已经被添加了进来。其中0~6分别表示6种Linux运行级别:
- 等级0表示:表示关机
- 等级1表示:单用户模式
- 等级2表示:无网络连接的多用户命令行模式
- 等级3表示:有网络连接的多用户命令行模式
- 等级4表示:不可用
- 等级5表示:带图形界面的多用户模式
- 等级6表示:重新启动
接下来,需要在刚刚在etc/init.d下创建的jetty文件中增加JETTY_HOME的配置
完成配置后,还需要变更一下文件所属用户为普通用户:
现在我们在普通用户下尝试用刚刚创建的service模式启动一下jetty服务:
访问IP:端口号,rssbus启动成功:
但是当服务器重启之后,加入service的jetty服务会被root用户重启,因此会在root文件夹下重新创建一个rssbus安装路径,为了避免这种情况,我们需要对jetty的user做限制。方法如下:
进入到etc/init.d/文件夹下编辑jetty文件,在文件中声明如下两行变量:
JETTY_USER
JETTY_START_LOG
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181228122058222.png
其中JETTY_USER为允许运行jetty服务的用户名;
由于JETTY_START_LOG的默认路径只有root用户可以访问,所以将记录log的路径重新定义为一个JETTY USER可以访问到的路径,此处选择的是jetty的安装路径下的子文件夹。
完成如上修改后,重启服务器,会发现rssbus被JETTY USER中指定的用户启动了。