解决captcha在linux下不显示:
提示信息:"Can't connect to X11 window server"这是由于Linux的图形处理需要一个X Server服务器。
解决办法:
1.如果服务器上安装有图形界面,可以通过设置环境变量:DISPALY=127.0.0.1:0.0解决。
2. 如果没有安装图形界面,可以在Java运行时加上参数:-Djava.awt.headless=true。
3. 使用PJA库来代替本地图形处理库。
因为解决方法1,3依赖系统环境和第三方类库,所以我们使用第2种方案,使用JDK自带的图形处理服务,具体做法如下:
VI编辑Jboss目录bin目录下的run.conf
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
在run.conf最后一行添加就可以了,Tomcat or Weblogic解决方法类似。
另外,如果抛出HeadlessException, 在simple captcha的bugs里有描述。
其实并不复杂,因为引用了GraphicsEnvironment和GraphicsDevice,找不到linux图形处理环境,而我们前面已经选择使用JDK自带的图形处理服务,所以只要注解就行了:
在 DefaultWordRenderer.java 里 包路径为/com/newegg/lab/common/captcha/text注释掉下面3行代码
Java代码
- // GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
- // GraphicsDevice gd = ge.getDefaultScreenDevice();
- // GraphicsConfiguration gc = gd.getDefaultConfiguration();
重新编译后打包,测试后成功。
或者以后升级到最新版,也许captcha开发者会修正此Bug。
Jboss for Linux 开机自启动配置:
例:
1,下载Jboss-4.2.2.GA.zip
2,解压缩unzip Jboss-4.2.2.GA.zip
3,拷贝到指定的目录cp Jboss-4.2.2.GA /usr/java/jboss-4.2.2.GA
4,拷贝jboss启动文件到系统启动目录下
cp /usr/java/jboss-4.2.2.GA/bin/jboss_init_redhat.sh /etc/rc.d/init.d/jboss
备注:jboss_init_redhat.sh 是针对Redhat的脚本,bin目录下还有针对其他OS的
5,增加jboss用户:(如果下面JBOSS_USER设置为root,即这步可以忽略)
groupadd -g 200 jboss
useradd -u 200 -g jboss jboss
6,编辑vi /etc/rc.d/init.d/jboss
为了使jboss适应所有ip,在文件开头加JBOSS_HOST=${JBOSS_HOST:-"0.0.0.0"}
修改对应的java_path,jboss_home,JBOSS_USER
如下:
JBOSS_HOST=${JBOSS_HOST:-"0.0.0.0"}
JBOSS_HOME=${JBOSS_HOME:-"/usr/java/jboss-4.2.2.GA"}
#define the user under which jboss will run, or use 'RUNASIS' to run as the current user
JBOSS_USER=${JBOSS_USER:-"root"}
#make sure java is in your path
JAVAPTH=${JAVAPTH:-"/usr/java/jdk1.6.0_14/bin"}
JBOSS_CONF=${JBOSS_CONF:-"default"}(部署目录的设置,有all,default,minimal三种,如果是jboss集群需设置为all)
7,配置系统自启动文件(两种方法,选一种即可)
(1)JBoss启动sh文件设定
# ln -s /etc/init.d/jboss /etc/rc0.d/K20jboss
# ln -s /etc/init.d/jboss /etc/rc3.d/S80jboss
# ln -s /etc/init.d/jboss /etc/rc5.d/S80jboss
3.设置运行权限
# chmod -f 755 /etc/init.d/jboss
(2)修改rc.local
编辑vi /etc/rc.d/rc.local 添加下面这一行
/etc/rc.d/init.d/jboss start
配置完成,重新启动即可。
如果想要把Jboss配置成服务,编辑vi /etc/rc.d/init.d/jboss,修改如下相应的地方
#define the classpath for the shutdown class
JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.sh -S"}
#define the script to use to start jboss
JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF -b $JBOSS_HOST"}
JBOSS_CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH"
JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"cd $JBOSS_HOME/bin; $JBOSSCP"}
配置完成后即可用serivce jboss start启动,service jboss stop停止。
Jboss for Linux配置优化:
1,优化JBOSS内存配置:(服务器物理内存以2G为例)
vi /usr/java/jboss-4.2.2.GA/bin/run.conf
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms512m –Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
fi
这些是配置JBoss运行的JVM优化参数。
-Xms512m 初始的java内存堆大小 512M
-Xmx1024m 最大的java内存堆大小 1024M
-XX:PermSize=256m GC预留的内存,如果你的应用有大量的Class被动态载入或卸载,你应该把这个参数设大些
-XX:MaxPermSize=256m 最大的GC预留内存
-Dsun.rmi.dgc.client.gcInterval=3600000 RMI客户端GC发生周期的设定
-Dsun.rmi.dgc.server.gcInterval=3600000 RMI服务端GC发生周期的设定
2,去掉和应用无关的部署,加快jboss运行速度
bsh-deployer.xml
client-deployer-service.xml
ear-deployer.xml
ejb-deployer.xml
http-invoker.sar
jboss-bean.deployer
jboss-ws4ee.sar
jms
jsr88-service.xml
schedule-manager-service.xml
scheduler-service.xml
sqlexception-service.xml
uuid-key-generator.sar
发表评论
文章已被作者锁定,不允许评论。
-
winsw 服务权限获取
2021-11-28 08:55 323@echo off @echo 取得当前目录 pushd ... -
davinci mail配置
2021-11-09 23:31 411mail: host: smtp.126.com ... -
davinci启动过程中的坑
2021-11-09 23:16 3751、设置MainClass 首先,在configurati ... -
启动项目设置字符集
2021-11-06 10:39 359启动时指定编码格式,-Dfile.encoding=utf-8 ... -
mysql 设置root权限
2021-07-08 09:36 1782mysql> CREATE USER 'root'@' ... -
修改数据表和字段字符集
2021-06-07 17:33 1838-- 修改数据表和字段字符集 alter table t ... -
查看端口关闭端口
2021-05-31 11:53 1096netstat -aon|findstr "80 ... -
maven不能设置为Dynamic Web Module3.0解决方法
2017-10-13 11:25 676找到\项目名\.setting\文件夹下的 org.e ... -
solr部署
2012-06-13 09:53 1476前提: 1.装好JRE和JDK,设置环境变量 ... -
jvm 虚拟内存设置
2012-04-25 16:35 1434-Xmn512m -Xms1024m -Xmx1024m ... -
spring的ioc类图
2012-01-05 08:05 1335spring在ioc的两个体现:一个是BeanFactory, ... -
java mail 发邮件
2010-10-28 10:07 812import java.util.Date;impor ... -
Linux上jboss集群配置
2009-10-13 16:44 1616集群安装和配置 on Linux 环境 2台Redhat s ... -
JAVA中文字符编码问题详解(3)
2009-10-13 14:59 2982五、对URL做Encode和Deco ... -
JAVA中文字符编码问题详解(2)
2009-10-13 14:57 2098四、JSP读取request.getParameter里的中文 ... -
JAVA中文字符编码问题详解(1)
2009-10-13 14:50 2378JAVA中文字符编码问题详 ...
相关推荐
如何linux下将JBoss配置成自动启动。
linux 下jdk ,jboss的安装和jboss的自启动完全说明
Jboss7 +apache 2.2.25+mod_jk 的配置集群 Jboss7 在windows下还没有看到有这块的文档 所以把写好的放上去和大家一志分享
Linux下安装jboss,并设置自启动服务.txt
linux 下 配置JBoss6.0+JDK7.0
Jboss 7 + EJB 3.0 + Eclipse环境配置
Linux下JBOSS部署手册
JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动JBoss启动 JBoss启动
Jboss + 优化配置 Jboss内存优化 Jboss数据库连接池优化 Jboss部署目录优化 Jboss应用安全加固
Eclipse+jboss的配置Eclipse+jboss的配置Eclipse+jboss的配置Eclipse+jboss的配置Eclipse+jboss的配置Eclipse+jboss的配置
linux启动jboss
linux oracle sybase jboss 自启动脚本,自动备份脚本,的一整套脚本,有信心能看懂你就下,没信心看懂你就别下了,属于自己网络备份。
Linux下安装jboss
JBoss服务设置开机自启
JBOSS+EJB3+MYSQL开发 Jboss有一个默认的数据源DefaultDS,他使用Jboss内置的HSQLDB数据库。 本代码使用的是Mysql
jboss7.1.1+ejb3.0+MySQL数据源配置,包含项目源码,可直接导入MyEclipse
linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装linux系统jboss安装...
linux 环境jboss 7.1 (注jdk不要用1.8 否则不能启动)
在D:\jboss-4.2.3.GA\bin目录下,点run.bat,或者在cmd中输入run。 如果不出现异常,如下图 5.然后在浏览器中输入http://localhost:8080/ 如果出现下图 则说明成功(类似tomcat) 6.在myeclipse下添加...
linux下jboss安装与配置详细说明