linux 服务自动重启以及tomcat自动重启设置

2018-01-03 19:23:21

首先的问题,linux启动并没有执行rc.local文件

根据linux机制,我们把启动命令要卸载/etc/rc.d/rc.local文件中,具体原因我不多讲,但是有可能会出现启动并没有执行这个文件的情况。

主要是权限不足。

暴力点  chmod -R 777 /etc/rc.d/rc.local

问题解决


但是依然没能解决命令启动的原因,通过打印日志判断原因

我们可以这样 

touch /var/lock/subsys/local
echo "hello linux" >>/var/log/error_log1
nginx  >>/var/log/error_log2
echo "hello linux" >>/var/log/error_log3
/usr/local/tomcats/ebaby/bin/startup.sh >> /var/log/error_log4
/usr/local/tomcats/icontractor/bin/startup.sh >>/var/log/error_log5


这样我们就可以看出他们启动后打印的日志。

结果第三行nginx 打印出了空的日志。

但是我已经把nginx加入全局变量了,centos7 里面完全没有问题,现在是centos6。无奈。

尝试写入全路径的nginx /usr/local/nginx/sbin/nginx  

成功了


再看其余的问题,启动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自启动的问题

从网上做到的教程链接 解决tomcat自启动环境变量的问题


按照教程上传完毕,但是依然出错了。

Cannot find /usr/local/tomcats/ebaby/bin/catalina.sh

因为我是下载到本地电脑修改,修改完又上传的,所以要改下权限。

又是一波暴力权限

chmod -R 777 catalina.sh



这次完美解决了跟随linux自动重启服务的功能


以后可以放心的轻松的重启服务器了。

  • 2018-12-05 15:11:18

    为什么 Objective-C非常难

    作为一个Objective-C的coder,我总能听到一部 分人在这门语言上抱怨有很多问题。他们总在想快速学习这门语言来写一个App出来,但他们也总是联想到Objective-C看上去实在太难了或者在想这 些语法符号都是神马玩意?不错,他们问得非常好,所以本人也解释一下为什么很多程序员相比较学习Ruby或者Java很容易,但在决定开发iOS或者OS X应用时会那么犹豫。

  • 2018-12-05 15:22:23

    十分钟让你明白Objective-C的语法(和Java、C++的对比)

    很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是相通的,有很多共性。下面列出Objective-C语言的语法和Java,C++的对比,这样你就会很容易Objective-C的语法是怎么回事了。

  • 2018-12-05 15:33:33

    一篇文章看懂有关iOS开发语言的一切!

    OS开发语言有哪些?OS开发语言主要包括什么?iOS开发语言具体怎么学习?今天重点介绍一下: iOS开发语言主要包括:C语言基础、Obiective-C编程、Swift、UIKit框架详解这几大块,在这里项目阶段就不详细的介绍了。 C语言基础 C语言是开发语言的基础,是最常用的一门程序设计语言,最常用于编写计算机程序。

  • 2018-12-06 10:03:36

    定时杀掉processlist sleep状态的线程

    由于程序设计的Bug,导致目前这个项目使用的数据库中有很多Sleep状态的线程。找了很多解决办法,还没发现最终有效的解决方案。只能临时使用如下方法: 编写shell文件,如killSleepProcess.sh

  • 2018-12-07 08:26:37

    mysql线程池和连接池的区别

    可能有的DBA会把线程池和连接池混淆,其实两者是有很大区别的,连接池一般在客户端设置,而线程池是在DB服务器上配置;另外连接池可以取到避免了连接频繁创建和销毁,但是无法取到控制MySQL活动线程数的目标,在高并发场景下,无法取到保护DB的作用。比较好的方式是将连接池和线程池结合起来使用。 作者:飞鸿无痕 链接:https://www.jianshu.com/p/88e606eca2a5 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 2018-12-07 17:47:24

    linux中wc命令用法

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。