Linux服务器相关
Notes: glassfish 出现__admingui/common/index.jsp not found 的问题处理
日期:八月 9th, 2011 分类:Linux服务器相关, 技术, 编程相关, 网站运营相关
这几天出现了一个奇怪的现象,glassfish的管理端“无缘无故”的登录不了了,查看server.log见以下错误:
File "%2Fopt%2Fglassfish3%2Fglassfish%2Flib%2Finstall%2Fapplications%2F__admingui%2Fcommon%2Findex.jsp" not found|#]
整理下:
File "/opt/glassfish3/glassfish/lib/install/applications/__admingui/common/index.jsp" not found|#]
这个是管理端的首页,更换了好几个全新的glassfish版本在服务器上的现象依旧,本地跑却一点儿事情没有,实在是不明白原因。
最后在这里:http://www.java.net/node/699754 得到了提示,一个叫 dcam 的家伙说:
Notes: 更改glassfish的日志轮转数量
日期:八月 1st, 2011 分类:Linux服务器相关, 技术, 编程相关, 网站运营相关
最近升级到glassfishv3.1.1之后,发现日志的数量始终保持在10个,判断是日志轮转数量有默认限制,查了官方文档,设置如下:
./bin/asadmin set-log-attributes com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles=50
如果glassfish的默认管理端口变了,则需要指定管理端口号,如:
Notes: 运维
日期:六月 14th, 2011 分类:Linux服务器相关, 技术, 网站运营相关
最近这一周来一直和运维打交道,原因是服务器所在的机房网络不稳定,导致需要进行各种网络检测,测试和服务器硬件维护。
说来负责的这个项目的网络情况比较“被”,先是遇到断电维护,其次是南北网络互通问题,再是IP所在路由器故障,到现在的网络不稳定。总之是大面上遇到的问题都遇到了,小问题也都赶上了。
说起目前的情况也很奇怪:
1、出问题的IP,ping值不稳定,正常的时候3ms左右,出问题的时候不是请求超时就是ping值达到2000多ms,故障发生间隙也是几秒,几分,到几十分钟不等。
2、出问题的IP所在机子,cpu,内存,网络使用等都不大,甚至凌晨压力最最小的时候也出问题。
3、为了排除硬件问题,考虑将备机上架,而可悲的是备机竟然无法上架,原因是出问题的IP到了新机子上始终无法连通外网,而机房内同网段机子却可以ping通,换其他IP也没一点儿问题。
4、为了排除备机的系统问题,重新安装了备机的操作系统,问题同样,出问题的IP始终到了备机上无法连通外网,换其他IP没问题。
5、问题反馈机房,得答复:IP没有做网卡绑定,对此问题他们暂时也没有找到原因。
到这里我们也就无能为力了,换IP或许是最直接和简单的解决办法,但是客户忍受不了了,接连出现的问题让他们对这个机房已经丧失了信心,开始寻找新机房,准备迁移。
在这几天的网络监控中,发现了一个不错的网站“监控宝”,虽然之前早就知道,但是因为之前没有使用的需求,因此也就没有在意,这次网络监测中,发现“监控宝”还是很不错的,虽然免费的账户有一定的限制,但是作为辅助的监测工具还是很有用的,尤其结合即时通知使用时。
这里分享一个使用技巧:
想更好的使用监控宝的即时通知,是要付费的,比如短信通知,但是可以通过139邮箱的短信通知做到一样的即时通知,这点就需要你设置的通知邮箱中有一个必须是139邮箱了。
我的做法:把监控宝的通知邮箱设为我常用的gmail邮箱,然后增加过滤器,只转发来自监控宝的邮件至我不常用的139邮箱,这样只要监控宝一有邮件通知,手机就会立马收到通知。
Notes: update glassfishv3
日期:六月 9th, 2011 分类:Linux服务器相关, 技术, 编程相关, 网站运营相关
进入glassfishv3所在目录下的bin目录,执行:
./pkg image-update
正常情况下,glassfish就会去检查更新,并下载更新文件进行更新。
但是如果是在 RHEL or CentOS 下,可能会出现 SE Linux问题,提示如下错误:
Traceback (most recent call last):
File "/opt/glassfishv3/pkg/bin/client.py", line 61, in ?
import pkg.actions as actions
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/__init__.py", line 59, in ?
globals(), locals(), [modname])
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/directory.py", line 36, in ?
import generic
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/generic.py", line 45, in ?
import pkg.variant as variant
File "/opt/glassfishv3/pkg/vendor-packages/pkg/variant.py", line 28, in ?
from pkg.misc import EmptyI
File "/opt/glassfishv3/pkg/vendor-packages/pkg/misc.py", line 32, in ?
import OpenSSL.crypto as osc
File "/opt/glassfishv3/pkg/vendor-packages/OpenSSL/__init__.py", line 11, in ?
import rand, crypto, SSL, tsafe
ImportError: /opt/glassfishv3/pkg/vendor-packages/OpenSSL/crypto.so:
cannot restore segment prot after reloc: Permission denied
这个时候,执行一下这个命令:
/usr/sbin/setenforce 0
就可以临时禁用SE Linux的强制检查,再次更新即可。
Notes: 通过logrotate进行nginx的日志轮转
日期:五月 8th, 2011 分类:Linux服务器相关, 网站运营相关
看着线上项目的access.log日益增大,进行日志分析相当不便,迫切需要进行日志轮转。
网上找到了使用logrotate进行nginx日志轮转的方案,由于不需要安装任何软件,配置起来也方便,因此考虑使用这个作为轮转方案。
先copy一个配置文件:
cp /etc/logrotate.d/httpd /etc/logrotate.d/nginx
进行该文件的配置:
/usr/local/nginx/logs/*.log {
daily
dateext
rotate 99
copytruncate
nocompress
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `/bin/cat /usr/local/nginx/logs/nginx.pid`
endscript
}
配置说明:
daily:按天来rotate
dateext:日志rotate后再后面加日期,例如:access.log轮转后会变为access.log-20110508
rotate:保留最近的几个文件
copytruncate:是指在进行轮转时会先把日志内容复制到老文件后才清除日志文件内容,可以保证日志记录的连续性。
nocompress:不压缩
missingok:当日志为空时不进行轮转
postrotate和endscript可以插入命令和脚本 执行某些操作,这里我们是平滑重启nginx,否则轮转后access.log不会再写入。
测试配置是否生效:
/usr/sbin/logrotate -f /etc/logrotate.conf
看看/usr/local/nginx/logs/下面是否有类似access.log-20110508的log生成
nginx中location的语法
日期:十月 9th, 2010 分类:Linux服务器相关, 技术
Location语法:location [=|~|~*|^~] /uri/ { … }
注:
1、= 严格匹配这个查询。如果找到,停止搜索。
2、^~ 匹配路径的前缀,如果找到,停止搜索。
3、~ 为区分大小写匹配。
4、~* 为不区分大小写匹配。
5、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配。
通过 nginx 为目录增加用户认证( auth basic)
日期:九月 29th, 2010 分类:Linux服务器相关, 技术
项目需要,因此整理下nginx下为目录增加用户认证的配置:
nginx的auth_basic认证采用与apache兼容的密码文件,因此我们需要通过apache的htpasswd生成密码文件。
首先查找你系统上的htpasswd
find / –name htpasswd
一般CentOS都会装apache的,位置在:
Linux Server Start – related use in project deployment
日期:九月 17th, 2010 分类:Linux服务器相关, 技术
[10/21 周主题] – 安装和配置Nginx
日期:五月 28th, 2010 分类:Linux服务器相关, 周主题, 技术
马上Nginx将会应用到公司的第一个实战项目上,为了方便开发和运维人员安装和配置Nginx,整理了下面的内容。
我们的服务器全部采用CentOS,因此下面的配置也是基于CentOS来配置的。
安装流程:
cd /opt/ yum install gcc openssl-devel pcre-devel zlib-devel wget http://nginx.org/download/nginx-0.8.38.tar.gz wget http://github.com/gnosek/nginx-upstream-fair/tarball/master tar –zxvf nginx-0.8.38.tar.gz tar –zxvf gnosek-nginx-upstream-fair-2131c73.tar.gz cd nginx-0.8.38 ./configure --with-http_stub_status_module --add-module=/opt/gnosek-nginx-upstream-fair-2131c73 make & make install
正常一步步走下面是不会出问题的,前提确保你的服务器网络可用。
Nginx启动脚本:
[10/20 周主题] – GlassFish单机和多机集群的配置
日期:五月 24th, 2010 分类:Linux服务器相关, 周主题
GlassFish可以配置单机集群和多机集群(即普通意义上的真集群)。
单机集群和多机集群配置上大同小异,只是代理服务器不同而已,单机集群代理服务器和代理节点在一个机子上,而多机集群就是将代理服务器和代理节点分布在不同的机器上。
下面就一步步来配置GlassFish集群,我是在Linux上部署的,因此下面的部署方式是Linux下的部署方式,Windows下的差不多:
1、下载 GlassFish, 我选择的是 GlassFish Server Open Source Edition 2.1.1中的 glassfish-installer-v2.1.1-linux-ml.jar 多语言版;
Linux Platform
- glassfish-installer-v2.1.1-linux.jar size 64MB
- glassfish-installer-v2.1.1-linux-ml.jar size 78MB

