[转]Jexus的常用操作和基本配置

转自http://www.cnblogs.com/xiaodiejinghong/archive/2013/04/05/3000404.html

3、Jexus的操作

经过两个章节关于Jexus的介绍,相信读者对于Jexus已经有了一个概念上的认识,从这个章节开始,接下来我们会对Jexus的使用进行实操,并通过操作Jexus时产生的现象进行讨论,从而进一步的了解并学会使用Jexus。

Linux软件包有一个做得非常好的地方,那就是对于这款软件的使用手册、帮助文档往往都会存在软件本身之中,像“有问题问男人”(man命令)、“--help”等命令都能够提供快速的使用方法查阅,同样,关于Jexus的使用方法我们也可以通过Jexus软件包中的“readme”查阅得到。

我们先看一下Jexus目录中有些什么东西:

里面也没有什么东西,包括四个文件夹(蓝色那种),六个脚本文件(绿色那种)和一些的其他文件(白色那种)。在这个章节里,我们介绍的是Jexus的操作,实际上就是对于Jexus脚本的操作和介绍。

Jexus提供了六个操作脚本(针对5.3之前的版本,5.3版本已把所有jws脚步融合到jws中,使用方法为./jws 参数),他们的名称和功能分别是:

  jws.start: 启动Jexus;(如果需要开机自启动的,可以把脚本的全路径[包括脚步本身]添加到/etc/rc.local中;5.3中已改为:jws start)
  jws.restart: 重启Jexus,如果命令后边加网站名作为参数,那么就表示启动或重启指定的网站;(5.3中已改为:jws restart)
  jws.stop: 停止Jexus,如果命令后边加网站名作为参数,那么就表示停止指定的网站;(5.3中已改为:jws stop)
  jws.regsvr: 注册jexus所需要的全局程序集(本命令只在安装或更新jexus后才用,而且必须用;5.3中已改为:jws regsvr)。
  state.start: 启动Jexus提供的ASP.NET状态服务;(该脚本在Jesux 5.3 中已经除去,Jexus默认开启)
  state.stop: 停止Jexus提供的ASP.NET状态服务;(该脚本在Jesux 5.3 中已经除去,Jexus默认开启)

  此外,5.3中还增加以下功能:

    jws status:检查Jexus的运行状态

    jws -V:查看Jexus的版本                

操作方法跟运行普通脚本一样./XXX,没有多少技术含量。这里值得注意的是,这些脚步文件的拥有者应该保证是root用户,并且有运行的权限。

4、Jexus的配置

Jexus的配置分为两个方面,一个是Jexus整体的配置(jws.conf),另外则是网站独立的配置(默认所有的网站配置文件都在siteconf文件夹中)。网站的独立配置可以调用很多Jexus的高级功能,我们把它当到下一回合再进行学习讨论,本章中我们主要进行Jexus的整站配置。我们用vi打开jws.conf看看里面有些什么设置项:

在这里,我解析一下每个选项的作用和注意事项:

(1)、SiteLogDir:这个设置项必须得存在并且开启,该设置项设置Jexus的运行日志记录、各网站运行的日志记录都会存放到该文件夹中。此外,当记录的日志文件大小达到一定程度的时候,Jexus会自动的把日志写到一个新的日志文件中,不会一直通过追加写的方式把所有的日志记录都写到同一文件中。

(2)、SiteConfigDir:这也是一个必须存在并且开启的设置项,这个设置项设置Jexus中各网站配置的存放地点,Jexus中默认的网站配置之所以存放在siteconf就是因为这里默认的值就为siteconf。此外值得注意的是,存放在该配置文件夹中的文件只能是网站的配置文件,其他任何的文件都不能存到到该目录(包括网站配置文件本身的备份文件),因为Linux系统所有的事物都是以文件的方式作为存储,因此无论你采用什么样的后缀,在Linux系统中都只当作普通文件来对待。

(3)、Runtime:该设置项用于配置Runtime的版本,除非有特殊需求需要改动Runtime的版本,一般情况下无需修改。

再来看一下一些高级点的设置项,这些设置项都是默认关闭的,

(4)、LLVM:是否开启LLVM编译器功能。开启LLVM可以把中间语言的编译交给LLVM编译器,这可以加快编译的速度,编译出来的代码性能或许会更优秀一些。不过值得注意的地方:并不是所有的Linux都带有LLVM编译器,并且mono自带的编译器编译效率和编译生成的代码性能上也不差什么,因此如果没有特殊的需要,这一项可以让他保持默认关闭。

(5)、httpd.processes:Jexus中默认的工作进程为1个,单个进程最大的并发数固定为1万个,通过开启多个工作进程可以提高Jexus处理并发的能力,开启多个进程的方式非常简单,只要修改httpd.processes的值并重启Jexus即可。不过这里有几点需要注意的地方:[1]Jexus最大支持的工作进程为4个,因此这里最大只能填写4;[2]如果开启了多个Jexus的工作进程,请注意网站的Session的保存方式,请通过修改网站config文件来修改Session的保存方式,避免采用进程的方式保存Session,否则将会造成Session的不同步,给网站的运作造成不必要的麻烦,Session的保存可以借助第三方的方式来保存(比如数据库,或者Jexus提供的强大的ASP.NET服务状态保存);[3]Jexus工作进程的设置跟服务器的CPU内核数和内存数有关,如果你的Cpu只有一个核,而你配置开启了两个进程,也只能达到一个容错的效果,能够承载的并发数是不会上去的。详细可以参考文章《让Jexus支持高并发请求的优化技巧》

(6)、httpd.user:不知道各位读者用过Apache没有,在Apache中的httpd.conf有这么一项设置user=XXX:可以把Apache以某个用户的方式启动,相应的该用户的所拥有的操作权限都会赋给Apache进程。同样,httpd.user的作用也是跟Apache中的user是一样的,只要把一个已有的用户的用户名填写到httpd.user中,Jexus就会拥有该用户的操作权限。有什么用?嗯,举个例子吧,如果网站的运行会产生一些新文件的(比如做页面静态化),各位读者会采用什么办法解决呢?chmod 777?这可以解决,但是把目录的权限设置为777会存在安全性的问题,如果可以有一种解决方案:进程和某些用户可以对该目录进行读写操作,而其他用户不能,那就可以解决安全性问题了。嗯,对的,这个时候httpd.user就派上了用场,我们只要创建一个仅能供某个用户读写的目录,并把此用户的用户名填写到httpd.user中,就可以实现我们想要的功能了。

(7)、php-fcgi.set:此功能是用于让Jexus支持PHP,由于这里与.NET关系不大,这里就不做过多的介绍了,需要了解的读者可以参照这篇文章:《让Jexus V5.1支持PHP的操作步骤》

(8)、CertificateFile 与 CertificateKeyFile:这个是让Jexus支持SSL的配置项,是用方法可以参照文章:《Linux+Apache安装生成配置SSL证书》《如何让jexus 支持ssl》

在这八大Jexus的网站配置中,有一个终极的注意事项:每次配置后记得重启Jexus,否则刚才的配置是不会生效的!!!

posted @ 2014-05-18 15:43  Reinhard_Hsu  阅读(1117)  评论(0编辑  收藏  举报