centos reader?centos怎么下载软件
其实centos reader的问题并不复杂,但是又很多的朋友都不太了解centos怎么下载软件,因此呢,今天小编就来为大家分享centos reader的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
centos怎样编写tomcat宕机自动重新启动
一、设置tomcat定时启动
1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。
set SERVICE_NAME=Tomcat7
set PR_DISPLAYNAME=Apache Tomcat
【然后修改jvm大小,搜索到--JvmMs 128--JvmMx 256进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)
然后运行cmd命令窗口,cd到tomcat的bin目录下,运行下面的命令
service.bat install运行成功过后,会提示服务已经安装成功。
2,制作重启脚本restart.bat,文件内容如下
net stop Tomcat7 net start Tomcat7
3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划
4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。
sc delete Tomcat7
需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。
二、监听tomcat
只要运行start.bat即可,相关配置在config.properties文件中,默认即可,如果服务名不对应就修改关闭和启动命令的服务名即可:net start【Tomcat7】括号中服务名,然后运行start.bat
下面是具体的监听代码:
首先是监听类TomcatMonitor.java:
[java] view plain copy
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
/**
*@describe:TomcatMonitor.java
*
*@date 2016-7-4
*@author liuweilong
*/
public class TomcatMonitor implements Runnable{
String start="";//系统命令启动
String stop="";//系统命令关闭
String testHttp="";//测试连接地址
int testIntervalTime=1;//测试连接间隔时间,单位为秒
int waitIntervalTime=2;//等待测试间隔时间,单位为秒
int testTotalCount=5;//测试连接总次数
Thread thread=null;
public TomcatMonitor(){
InputStream in= TomcatMonitor.class.getResourceAsStream("config.properties");
Properties p= new Properties();
try{
p.load(in);
stop=p.getProperty("stop");
start=p.getProperty("start");
testHttp=p.getProperty("testHttp");
testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime"));
waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime"));
testTotalCount=Integer.parseInt(p.getProperty("testTotalCount"));
} catch(Exception e){
e.printStackTrace();
}
System.out.println("*******************初始化成功!*******************");
thread=new Thread(this);
thread.start();
}
public void run(){
System.out.println("正在监控中...");
int testCount=0;
while(true){
testCount=0;
testCount++;
boolean isrun=test();
System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));
while(!isrun){
if(testCount>=testTotalCount)break;
try{
thread.sleep(testIntervalTime*1000);
} catch(InterruptedException e){
e.printStackTrace();
}
testCount++;
System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));
isrun=test();
}
if(!isrun){
try{
//关闭tomcat服务
Process proc= Runtime.getRuntime().exec(stop);
thread.sleep(5000);
//启动tomcat服务
System.out.println("测试连接失败,正在重启tomcat");
Process p=Runtime.getRuntime().exec(start);
System.out.println("重启tomcat成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("重启tomcat异常,请查看先关错误信息。。。。。");
}
}
try{
thread.sleep(waitIntervalTime*1000);
} catch(InterruptedException e){
e.printStackTrace();
}
isrun=test();
}
}
public boolean test(){
URL url=null;
try{
url= new URL(testHttp);
} catch(MalformedURLException e){
e.printStackTrace();
}
try{
URLConnection urlConn=url.openConnection();
urlConn.setReadTimeout(15000);
BufferedReader reader= new BufferedReader(new InputStreamReader( urlConn.getInputStream()));//实例化输入流,并获取网页代码
String s;
while((s= reader.readLine())!= null){
return true;
}
} catch(Exception e){
return false;
}
return false;
}
public static void main(String[] args) throws Exception{
TomcatMonitor tm=new TomcatMonitor();
}
}
然后是对应的配置文件config.properties:
[plain] view plain copy
#系统命令启动
start=net start Tomcat7
#关闭
stop= net stop Tomcat7
#测试连接总次数
testTotalCount=3
#连接失败时,再次检测时间间隔,单位为秒
testIntervalTime=3
#连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒
connectionTimeout=15
#tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒
tomcatStartTime=600
#测试连接地址
testHttp=
#正常情况下,每次检测间隔时间,单位为秒
waitIntervalTime=30
最后是启动的start.bat:
[plain] view plain copy
java-cp. TomcatMonitor
centos为什么安装libhiredis-dev
1、linux下如何安装hiredis
1)下载地址
2)编译和安装
解压后的文件夹执行 make;make install;
3)头文件包含
include<hiredis/hiredis.h>
4)编译选项
makefile文件中加入 LDFLAGS=-lhiredis
2、主要结构
主要关注2个结构体,
1)redisContext
//对应与Redis的连接
[cpp] view plain copy
/* Context for a connection to Redis*/
typedef struct redisContext{
int err;/* Error flags, 0 when there is no error*/
char errstr[128];/* String representation of error when applicable*/
int fd;
int flags;
char*obuf;/* Write buffer*/
redisReader*reader;/* Protocol reader*/
enum redisConnectionType connection_type;
struct timeval*timeout;
struct{
char*host;
char*source_addr;
int port;
} tcp;
struct{
char*path;
} unix_sock;
} redisContext;
2)redisReply
//对应redis命令的回复结果
[cpp] view plain copy
/* This is the reply object returned by redisCommand()*/
typedef struct redisReply{
int type;/* REDIS_REPLY_**/
long long integer;/* The integer when type is REDIS_REPLY_INTEGER*/
int len;/* Length of string*/
char*str;/* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING*/
size_t elements;/* number of elements, for REDIS_REPLY_ARRAY*/
struct redisReply**element;/* elements vector for REDIS_REPLY_ARRAY*/
} redisReply;
2、主要接口
主要有4个接口,
1)redisContext* redisConnect(const char*ip, int port)
//连接redis。
2)void*redisCommand(redisContext*c, const char*format,...);
//执行redis操作命令
3)void freeReplyObject(void*reply);
//释放执行redis操作命令回复的内存
4)void redisFree(redisContext*c);
//释放连接上下文。
3、异常处理
主要4种异常情况会出现,
1)获得的redisContext指针为null
异常处理办法:再次尝试与redis建立新的连接上下文。
2)获得的redisContext指针err不为0
异常处理办法:再次尝试与redis建立新的连接上下文。
3)获得的redisReply指针为null
异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。
4)获得的reply指针的type不是期望的类型,
异常处理办法:断开redis连接再次与redis建立连接并尝试执行命令。
至此hiredis了解完毕,接下来就可以在其他模块中调用了。
玩转Ubuntu 18 桌面版
版本:Ubuntu 18.04.2 LTS
对于Ubuntu 18.04.2 LTS的镜像源更新,您可以将系统自带的/etc/apt/sources.list文件备份,然后替换为以下内容,以使用清华大学开源软件镜像站的软件源镜像:
安装常用软件:
-搜狗输入法:访问pinyin.sogou.com/linux/,点击deb包安装,完成两次安装并输入密码。
-网易云音乐:下载Linux 1.2.0版本,按照指定步骤安装。
- Google浏览器:终端执行相应命令确保安装成功。
- WPS:访问linux.wps.cn/下载二进制包,点击deb包进行安装。
- Docker:适用于Ubuntu、Debian、Centos等主流Linux发行版。
-其他软件:按照具体软件说明安装。
安装工具软件:
- Sublime Text 3、Visual Studio Code、Postman、Charles、Shutter、Typora等,分别通过访问其官网或使用终端命令安装。
-添加快捷键:在Settings-Keyboard中添加,然后在键盘上输入快捷键即可。
其他软件:
-百度云盘:访问pan.baidu.com/download进行下载。
-福昕PDF阅读器:访问foxitsoftware.cn/pdf-reader/下载安装。
- uGet:用于文件下载,通过访问ugetdm.com/downloads/下载安装。
- VLC视频播放器:访问videolan.org/vlc/downloads/下载安装。
- Calibre电子书阅读器:访问calibre-project.org/downloads/下载安装。
Java开发工具:
- JDK 12:从Oracle官网下载最新稳定版JDK,确保安装并配置环境变量。具体步骤包括查看安装状态、设置JAVA_HOME环境变量等。
卸载不常用软件:根据个人喜好选择性卸载,可以通过系统软件中心或终端命令进行。
美化终端与主题修改:
-终端采用zsh和oh-my-zsh,提高美观度和易用性。
-修改主题、配色、字体等,增强用户体验,例如安装zsh、oh-my-zsh,设置透明背景、Tango配色方案及文泉译微米黑字体。
其他调整:
-支持农历、隐藏顶部状态栏、实现实时显示网速等个性化设置。
-移植深度桌面以获取更美观的Linux桌面体验。
-修改桌面文件夹位置,提升桌面管理效率。
-设置默认启动项,调整启动顺序。
-自动挂载其他分区,优化系统管理。
-修改Hosts文件,支持网络访问。
-使用deepin-wine-ubuntu安装Windows应用如微信、QQ,实现Windows应用在Linux环境下的流畅运行。
安装360压缩、2345看图王、SQLyog等软件,通过deepin-wine命令行进行安装,并创建快捷方式以方便访问。
备份与还原系统:
-使用LiveCD进行系统备份与还原,确保数据安全。
上述步骤涵盖了Ubuntu 18.04.2 LTS系统的安装、配置、软件安装、个性化设置及系统维护等关键方面,旨在提供一个全面且高效的操作指南。通过遵循这些步骤,用户可以轻松地定制和优化自己的Ubuntu桌面体验。