resin设置权限_如何配置resin 3.1.9

展开全部

Resin配置优化

1. Resin安装及自启动设置

创建开机自动启动

cp contrib/init.resin /etc/rc.d/init.d/resin

vi /etc/rc.d/init.d/resin

设置正确的路径

JAVA_HOME=/usr/local/jdk1.6.0_13

RESIN_HOME=/usr/local/resin-3.1.8

赋予可执行权限

chmod +x /etc/rc.d/init.d/resin

加为e69da5e6ba903231313335323631343130323136353331333363376534自启动服务:

chkconfig --add resin

chkconfig --level 35 resin on

service 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设置

-Xmx4096m

-Xms4096m

-Xmn512M

-Xss50M

-XX:PermSize=768M

-XX:MaxPermSize=768M

-XX:SurvivorRatio=8

-XX:MaxTenuringThreshold=7

-XX:GCTimeRatio=19

-XX:+UseParNewGC

-XX:+UseConcMarkSweepGC

-XX:+CMSPermGenSweepingEnabled

-XX:+CMSClassUnloadingEnabled

-XX:+UseCMSCompactAtFullCollection

-XX:CMSFullGCsBeforeCompaction=2

-XX:-CMSParallelRemarkEnabled

-XX:+DisableExplicitGC

-XX:CMSInitiatingOccupancyFraction=70

-XX:SoftRefLRUPolicyMSPerMB=0

-XX:+PrintClassHistogram

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps-XX:+PrintGCApplicationConcurrentTime

-XX:+PrintGCApplicationStoppedTime

-Xloggc:log/gc.log

-Xdebug

-Dcom.sun.management.jmxremote

内存设置配置:

5M

最大线程数

1024

65s

配置最活连接和超时时间

2048

keepalive-timeout>15s

3. 配置jconsole监控JVM

$JAVA_HOME/jre/lib/management/jmxremote.password.template的文件是远程连接时的设置用户和密码的文件,

cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password

chmod 600 $JAVA_HOME/jconsole/jmxremote.password

vi jmxremote.password

去掉#monitorRole RED前的注释并将RED修改为你要设置的密码。在resin.conf加入以下配置,其中被监控主机的IP需要和主机IP一致

-Dcom.sun.management.jmxremote.port=12345

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.access.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.access-Dcom.sun.management.jmxremote.password.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.password

-Dcom.sun.management.jmxremote.authenticate=true

-Djava.rmi.server.hostname=192.168.100.9

在客户端基本不用怎么设置,在 JDK 安装目录中(/bin/jconsole.exe)启动 jconsole.exe 就可以打开主界面。输入192.168.100.9:12345 用户名和密码即可看到监控界面中关于jvm的相关信息。操作

双击jconsole.exe启动连接对话框

4. 配置Resin后台管理

二. 网络优化部分

1. 减少TCP连接中的TIME-WAIT或 CLOSE-WAIT包

Vim /etc/sysctl.conf加入以下配置

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_probes = 5

net.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

默认值是9

TCP发送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|more

131 24204

57 24244

其中第一行是打开的文件句柄数量,第二行是进程号。得到进程号后,我们可以通过ps命令得到进程的详细内容。

ps -aef|grep 24204

mysql 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

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值