精华内容
下载资源
问答
  • 转载 首先执行命令找到nginx路径 ps aux | grep nginx 如nginx路径为 ...contos 下面查看 nginx配置是否OK /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf

    转载

    首先执行命令找到nginx路径
    ps aux | grep nginx
    如nginx路径为
    /usr/local/nginx/sbin/nginx

    contos 下面查看 nginx配置是否OK

    /usr/local/nginx/sbin/nginx -t

    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

     

    windows 下面查看 在D:\phpStudy\nginx 在这个目录使用Shift + S鼠标右键出现下面页面就打开了cmd窗口 必须要没有选中文件才可以出现


    展开全文
  • ![![图片说明]... 练习题目为:创建一个用户openstack ,但不创建家目录,创建完成后使用su命令切换至用户,查看其命令提示符及PATH和HOME两个环境变量的值
  • 查看zookeeper事务日志正确姿势

    千次阅读 2019-01-25 12:58:15
    查看zookeeper事务日志正确姿势 用vi打开发现乱码,查资料发现说是文件里是二进制。zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录。但是这些日志文件是二进制的,无法通过普通的查看名单看。...

    查看zookeeper事务日志正确姿势


    用vi打开发现乱码,查资料发现说是文件里是二进制。zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录。但是这些日志文件是二进制的,无法通过普通的查看名单看。需要通过org.apache.zookeeper.server.LogFormatter。姿势如下

    1.在Linux中

    命令如下:

    java -cp :/.../slf4j-api-1.7.2.jar:/.../zookeeper-3.4.6.jar org.apache.zookeeper.server.LogFormatter /...dataLogDir/version-2/log.1
    

    java -classpath :./slf4j-api-1.7.2.jar:./zookeeper-3.4.6.jar org.apache.zookeeper.server.LogFormatter log.1700000001 
    

    在这里插入图片描述
    在这里插入图片描述
    第二个命令
    在这里插入图片描述

    在window中

    java -classpath ".;*" org.apache.zookeeper.server.LogFormatter log.1700000001
    

    这是把所需jar和文件放到当前目录下的
    在这里插入图片描述

    补充知识

    以log.****文件开头的是zookeeper的事务文件,每个文件大小是64m,文件名按时间递增。正如从代码中看到的一样version-2目录中存储着Zookeeper的事务日志文件,有看到log.10、log.4f文件,这些都是Zookeeper的事务日志文件;这两个文件都有一个特点就是文件名为log.xx,大小为64MB文件的后缀xx时间最早的 数字总是比最晚的小。如果有了解过Zookeeper的ZAB协议那肯定知道它为每一个事务请求都分配了一个事务ID也就是ZXID,上面章节也知道了xx就是Zookeeper处理请求的ZXID,该ZXID为log文件中第一条事务的ZXID;ZXID规则为前32 字节为Leader周期,后32字节为事务请求序列,所以通过事务日志就可以轻松的知道当前的Leader周期与每个文件所属的Leader周期;

    ZooKeeper日志与快照文件简单分析

    有用过Zookeeper的都知道zoo.cfg配置文件中有dataDir配置项用于存储数据,不过可能有些人不太清楚这个目录具体存储的是那些数据,默认情况下这个目录是用于存储Log(事务日志)与Snapshot(快照)数据,但是Zookeeper还提供了一个用于Log存储目录的配置项dataLogDir而dataDir用于存储Snapshot数据,Log文件写入频率非常高如果有对Snapshot文件经常操作或是对Zookeeper性能要求非常高可以为Log与Snapshot分别配置不同的目录存储;本文主要是结合源码分析Zookeeper的Log与Snapshot文件,这里我分别为Log与Snapshot配置了不同的存储目录:dataDir=D:/zookeeper-3.4.6/data 、dataLogDir=D:/zookeeper-3.4.6/data/log;
      事务日志与Snapshot的操作是在org.apache.zookeeper.server.persistence包中,这里也主要是分析该包下的各个类;在FileTxnSnapLog类中看到了它在我们为事务日志与Snapshot配置的目录下又创建了一个子目录version-2同时又指定为该两种文件的存储目,在里面还可以看到FileTxnLog、FileSnap类分别为处理事务日志和Snapshot的;

    事务日志文件

      在Zab协议中我们知道每当有接收到客户端的事务请求后Leader与Follower都会将把该事务日志存入磁盘日志文件中,该日志文件就是这里所说的事务日志,下面将详细分析该日志文件;
      FileTxnLog类用于处理事务日志文件这里就从此类开始,在该类中看到了preAllocSize、TXNLOG_MAGIC、VERSION、lastZxidSeen、dbId等这样的属性:
      1. preAllocSize: 默认预分配的日志文件的大小65536*1024字节
      2. TXNLOG_MAGIC:日志文件魔数为ZKLG
      3. VERSION:日志文件版本号2
      4. lastZxidSeen:最后的ZXID

      类中还有一个静态代码块用于读取配置项中的preAllocSize,也就是说预分配的日志文件大小是可配置的,接下来看看该类中最重要的一个方法append,该方法主要功能是创建新的日志文件与往日志文件中追加新的事务日志记录;从中可以看到日志文件的相关信息

      1. 文件名为log,后缀为十六进制的ZXID
      2. 日志文件头有:magic、version、dbid
      3. 创建文件后分配的文件大小为:67108864字节+16字节,其中16字节为文件头
      4. 使用Adler32作为日志文件的校验码
      5. 当日志文件写满预分配大大小后就扩充日志文件一倍大小

    正如从代码中看到的一样version-2目录中存储着Zookeeper的事务日志文件,有看到log.10、log.4f文件,这些都是Zookeeper的事务日志文件;这两个文件都有一个特点就是文件名为log.xx,大小为64MB文件的后缀xx时间最早的 数字总是比最晚的小。如果有了解过Zookeeper的ZAB协议那肯定知道它为每一个事务请求都分配了一个事务ID也就是ZXID,上面章节也知道了xx就是Zookeeper处理请求的ZXID,该ZXID为log文件中第一条事务的ZXID;ZXID规则为前32 字节为Leader周期,后32字节为事务请求序列,所以通过事务日志就可以轻松的知道当前的Leader周期与每个文件所属的Leader周期;

    日志文件可视化
      事务日志文件中存储的都是二进制的数据,如果不借助其他工具是很难知道里面存储的内容的,Zookeeper也给我们提供了这样的工具,在org.apache.zookeeper.server包中的LogFormatter类为我们提供了把事务日志文件以我们看得懂的数据输出的功能,这里就使用该工具输出该事务日志文件,并解释该数据;
     LogFormatter工具的使用方法: java -cp ../../../zookeeper-3.4.6.jar;../../../lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.1

    日志分析
      第一行:ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
      上面的代码分析中有说到每个日志文件都有一个这就是那里所说的日志头,这里magic没有输出,只输出了dbid还有version;

      第二行:15-8-12 下午03时59分53秒 session 0x14f20ea71c10000 cxid 0x0 zxid 0x1 createSession 4000
      这也就是具体的事务日志内容了,这里是说xxx时间有一个sessionid为0x14f20ea71c10000、cxid为0x0、zxid为0x1、类型为createSession、超时时间为4000毫秒

      第三行:15-8-12 下午03时59分54秒 session 0x14f20ea71c10000 cxid 0x1 zxid 0x2 create '/solinx0000000000,#736f6c696e78,v{s{31,s{'world,'anyone}}},F,1
      sessionID为0x14f20ea71c10000,cxid:0x01、zxid:0x02、创建了一个节点路径为:/solinx0000000000、节点内容为:#736f6c696e78(经过ASCII,实际内容为solinx)、acl为world:anyone任何人都可以管理该节点、节点不是ephemeral节点的、父节点子版本:1

      第四行:15-8-12 下午04时15分56秒 session 0x14f20ea71c10000 cxid 0x0 zxid 0x3 closeSession null
      这里是说xxx时间有一个sessionid为0x14f20ea71c10000、cxid为0x0、zxid为0x3、类型为closeSession

    快照文件

      快照文件的处理在FileSnap类中,与事务日志文件一样快照文件也一样有SNAP_MAGIC、VERSION、dbId这些,这作用也只是用来标识这是一个快照文件;Zookeeper的数据在内存中是以DataTree为数据结构存储的,而快照就是每间隔一段时间Zookeeper就会把整个DataTree的数据序列化然后把它存储在磁盘中,这就是Zookeeper的快照文件,快照文件是指定时间间隔对数据的备份,所以快照文件中数据通常都不是最新的,多久抓一个快照这也是可以配置的snapCount配置项用于配置处理几个事务请求后生成一个快照文件;
      与事务日志文件一样快照文件也是使用ZXID作为快照文件的后缀,在FileTxnSnapLog类中的save方法中生成文件并调用FileSnap类序列化DataTree数据并且写入快照文件中;

    快照文件可视化
      与日志文件一样Zookeeper也为快照文件提供了可视化的工具org.apache.zookeeper.server包中的SnapshotFormatter类,接下来就使用该工具输出该事务日志文件,并解释该数据;
     SnapshotFormatter工具的使用方法: 

    java -cp ../../zookeeper-3.4.6.jar;../../lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.SnapshotFormatter snapshot.17

    快照分析
      快照文件就很容易看得懂了,这就是Zookeeper整个节点数据的输出;

      第一行:ZNode Details (count=11):
      ZNode节点数总共有11个

      /cZxid = 0x00000000000000
      ctime = Thu Jan 01 08:00:00 CST 1970
      mZxid = 0x00000000000000
      mtime = Thu Jan 01 08:00:00 CST 1970
      pZxid = 0x00000000000016
      cversion = 7
      dataVersion = 0
      aclVersion = 0
      ephemeralOwner = 0x00000000000000
      dataLength = 0

    这么一段数据是说,根节点/:
      cZxid:创建节点时的ZXID
      ctime:创建节点的时间
      mZxid:节点最新一次更新发生时的zxid
      mtime:最近一次节点更新的时间
      pZxid:父节点的zxid
      cversion:子节点更新次数
      dataVersion:节点数据更新次数
      aclVersion:节点acl更新次数
      ephemeralOwner:如果节点为ephemeral节点则该值为sessionid,否则为0
      dataLength:该节点数据的长度

    快照文件的末尾:
      Session Details (sid, timeout, ephemeralCount):   0x14f211584840000, 4000, 0   0x14f211399480001, 4000, 0
      这里是说当前抓取快照文件的时间Zookeeper中Session的详情,有两个session超时时间都是4000毫秒ephemeral节点为0;

    参考有
    ZooKeeper查看事务日志
    ZooKeeper日志与快照文件简单分析

    展开全文
  • 之前写了一篇博文关于multiple标签简单...java.io.IOException: java.io.FileNotFoundException: D:\DEV_ENV\upload\C:\Users\PC\Downloads\团险业务概念与特点.ppt (文件名、目录名或卷标语法不正确。) 错误信息...

    之前写了一篇博文关于multiple标签简单使用的文章,在回复网友问题关于IE11浏览器支持时,发现程序在IE11和Edge浏览器下报错

    java.io.IOException: java.io.FileNotFoundException: D:\DEV_ENV\upload\C:\Users\PC\Downloads\团险业务概念与特点.ppt (文件名、目录名或卷标语法不正确。)

    错误信息很明显,程序找不到D:\DEV_ENV\upload\C:\Users\PC\Downloads\团险业务概念与特点.ppt这个文件

    细看一眼,好像有问题,这个文件的路径有错,前面是带有盘符的路径信息,后面又有盘符的路径信息

    查看代码后,发现问题的症结

    	/**
    	 * 文件保存方法
    	 * @param file
    	 * @param destination
    	 * @throws IOException 
    	 * @throws IllegalStateException 
    	 */
    	private void saveFile(MultipartFile file, String destination) throws IllegalStateException, IOException {
    		// 获取上传的文件名称,并结合存放路径,构建新的文件名称
    		String filename = file.getOriginalFilename();
    		
    		File filepath = new File(destination, filename);
    		
    		// 判断路径是否存在,不存在则新创建一个
    		if (!filepath.getParentFile().exists()) {
    			filepath.getParentFile().mkdirs();
    		}
    		
    		// 将上传文件保存到目标文件目录
    		file.transferTo(new File(destination + File.separator + filename));
    	}

    代码中file.getOriginalFilename() 获取上传的文件名称,但是在IE11/Edge浏览器下面,获取到的路径信息带有盘符

    查看该方法定义

    	/**
    	 * Return the original filename in the client's filesystem.
    	 * <p>This may contain path information depending on the browser used,
    	 * but it typically will not with any other than Opera.
    	 * @return the original filename, or the empty String if no file has been chosen
    	 * in the multipart form, or {@code null} if not defined or not available
    	 * @see org.apache.commons.fileupload.FileItem#getName()
    	 * @see org.springframework.web.multipart.commons.CommonsMultipartFile#setPreserveFilename
    	 */
    	@Nullable
    	String getOriginalFilename();

    最上面两句含义便是,该方法返回文件在客户端文件系统中的原始文件名称,该名称或许会包含路径信息,这点依赖于浏览器。

    由于之前的测试都是在Chrome浏览器,未测试IE11浏览器,故未发现该问题。

     

    修复该问题,在代码中增加浏览器的判断

    		// 获取上传的文件名称,并结合存放路径,构建新的文件名称
    		String filename = file.getOriginalFilename();
    		
    		// 文件上传时,Chrome和IE/Edge对于originalFilename处理不同
    		// Chrome 会获取到该文件的直接文件名称,IE/Edge会获取到文件上传时完整路径/文件名
    		
    		// Check for Unix-style path
    		int unixSep = filename.lastIndexOf('/');
    		// Check for Windows-style path
    		int winSep = filename.lastIndexOf('\\');
    		// Cut off at latest possible point
    		int pos = (winSep > unixSep ? winSep : unixSep);
    		if (pos != -1)  {
    			// Any sort of path separator found...
    			filename = filename.substring(pos + 1);
    		}
    		
    		File filepath = new File(destination, filename);

    这段系统路径分隔符的判断,来自于org.springframework.web.multipart.commons.CommonsMultipartFile类的getOriginalFilename() 方法内。增加后,若为带有路径的文件名信息,则截取我们实际需要的文件名信息。

     

    修改后,测试上传无误,这里就不贴测试信息了。

    展开全文
  • linux检查nginx.conf是否正确

    千次阅读 2019-08-16 10:59:34
    linux检查nginx配置文件nginx.conf是否正确 解决方法: 开发过程中修改了nginx.conf文件后要执行重载命令才可以生效,那么在执行./nginx -s reload之前要先验证一下nginx.conf是否正确,不然重载不成功的话而且...

    linux检查nginx配置文件nginx.conf是否正确

     

    解决方法:

    开发过程中修改了nginx.conf文件后要执行重载命令才可以生效,那么在执行./nginx -s reload之前要先验证一下nginx.conf是否正确,不然重载不成功的话而且在高并发的情况下损失惨重。

    检查命令:在sbin目录下执行:http://www.yayihouse.com/yayishuwu/chapter/2096

    展开全文
  • SVN 文件名目录名或卷标语法不正确

    千次阅读 2019-04-18 12:01:51
    把.svn/wc.db复制到sqlite目录中( .svn 是隐藏的文件夹, 在你的SVN项目根目录) CMD 进入cd 盘符路径:/文件路径/sqlite. 示例把sqlite文件解压到G盘 那么命令则是: cd G:\sqlite 进入sqlite sqlite3 执行打开wc....
  • 1:ls:查看目录和文件列表 -a 查看所有(隐藏) -r 逆序 -t 按时间排序 -l 相看详情 2:cd:切换当前目录 3:pwd:打印当前的绝对路径 4:cp:把文件复制到目标。 -r:递归(遍历所有子目录) 5:mv:...
  • 运行npm run 的时候报错文件名,目录名或卷标语法不正确问题描述分析解决 问题描述 taro前一天运行没问题的代码,第二天打开运行npm run dev:h5直接报错,错误如下 文件名,目录名或卷标语法不正确 npm ERR! code ...
  • 如何正确查看Linux机器内存使用情况

    万次阅读 2019-06-20 11:54:15
    只要工作上涉及到Linux机器,基本上都会有这样一个需求,查看内存使用情况,但是怎么看才正确呢?之前使用的是top命令,一直存在一个误区。 为什么top命令看内存会有误区? top是个很好用的系统分析工具,可以实时...
  • Linux安装CUDA的正确姿势

    万次阅读 多人点赞 2018-08-20 23:12:39
    Linux安装CUDA的正确姿势 CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的...查看显卡是否支持CUDA 输入下面命令查看电脑的NVIDIA型号: v...
  • 正确查看Java JDK 安装位置

    千次阅读 2020-02-16 18:14:00
    查看Java JDK 安装位置 三步法: # java程序的执行路径 which java /usr/bin/java ls -l /usr/bin/java lrwxrwxrwx 1 root root 22 Feb 14 22:16 /usr/bin/java -> /etc/alternatives/java ls -l /etc/...
  • shell脚本验证root密码是否正确

    千次阅读 2013-04-17 00:20:32
    最近几天由于工作需要,要在suse操作系统下实现一个验证root密码正确性的shell脚本,没想到什么好办法,最后用一个取巧的方式...3、判断输出结果是否是root,来间接证明root密码是否正确。   具体脚本如下: ...
  • Linux显示检查设置文件中的语法是否正确 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ apachectl [conflgtest] 程序“apachectl”尚未安装。 您可以使用以下命令安装: sudo apt-get install apache2 ...
  • 从php7出来之后,wamp3.0版也是加上了php7 以及apache 版本,但是安装上之后,配置vhost 发现,打开项目地址提示404.但是路径是对着的. ...但是不能项目的浏览文件目录. 解决方法:修改apche配置文件: LoadModu
  • 查看Android API文档的正确方式

    万次阅读 2016-12-09 20:53:04
    使用Android Studio开发时,我们很能会需要查看一些函数或类的定义说明,这时我们就需要查看Android的API文档,这本是本是一件很简单的事情,但是由于某墙的原因变得无比蛋疼。下面针对具体情况说明。AS中简单查看...
  • 检测nginx配置是否正确的方法

    千次阅读 2016-04-13 21:29:16
    进入该目录,执行 -t:检测是否有语法错误. -v:显示nginx版本号 -V:显示nginx版本号以及编译环境信息以及编译时的参数.
  • 这个问题,我在网上找了无数方案,都是复制...我重新设定了 npm 的全局安装位置和缓存位置,如何查看: // 查看全局安装位置 npm config get prefix // E:\Tools\node\node_global // 查看缓存位置 npm config get c...
  • 大家在学习Linux或者aix的时候,一定会碰到文件权限问题,那么到底该如何正确理解文件与目录的可读、可写、可执行权限呢? 对于文件而言: 读权限允许用户标识读取该文件; 写权限允许用户修改该文件; 执行权限...
  • [root@rhv6-64b ~]# su - mqm -bash-4.1$ dspmq -bash: dspmq: command not found...-bash-4.1$ dspmqver(dspmqver主安装目录设置不正确) AMQ8594: WebSphere MQ commands are no longer available in /usr/bin.
  • 查看tmp目录下的文件

    千次阅读 2019-09-28 23:24:50
    ls –alt /tmp/ 直接敲会这样 这样也不对 正确方法:先切换到管理员权限 sudo su root
  • 我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询。2、stat系列函数 stat函数用来返回与文件有关的结构信息。stat系列函数有三种情况,分别对应文件名称、文件描述符和符号链接...
  • Linux安装NVIDIA显卡驱动的正确姿势

    万次阅读 多人点赞 2018-08-20 21:05:58
    检测NVIDIA驱动是否成功安装 集显与独显的切换 使用标准仓库进行自动化安装 使用PPA仓库进行自动化安装 使用官方的NVIDIA驱动进行手动安装 Linux安装NVIDIA显卡驱动的正确姿势 可能想玩Linux系统的童鞋,...
  • 网上很多这个问题的解决方案是通过 yarn global bin指令查看yarn命令的目录,然后把这个目录路径配置到系统环境变量中,然后再重新执行yarn create @umijs/umi-app命令,但还是报了同样的错误。问题没有解决。 ...
  • 故障现象:linux 安装discuz 错误提示:mysql_connect() 不支持请检查mysql模块是否正确加载. 解决办法:查看/usr/lib/php/modules/ (64位的看/usr/lib64/php/modules/)里面根本没有mysql.so 找到centos5.4安装...
  • 使用ls命令查看文件和目录列表

    万次阅读 2017-04-26 23:37:13
    使用ls命令查看文件和目录列表
  • Exception in thread "main" java.io.FileNotFoundException: hdfs:\192.168.73.16:8020\user\9003547\text.txt (文件名、目录名或卷标语法不正确。) at java.io.FileInputStream.open(Native Method) at java.io....
  • 按照官网的教程,第一步就卡死了 ... 解决办法 第一步 查看出错执行的命令,我的是: D:\install\nodejs\node_global\bin\create-react-app 打开create-react-app.cmd文件 @"%...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 464,939
精华内容 185,975
关键字:

怎样查看目录是否正确