这里我就分享一下,虽然有些不足!但希望有所分享和帮助!
先介绍一下服务器,在阿里云上买的包月服务器69个大洋,作为底层的码农还真的出血了。同时也在阿里云旗下的万网 注册了yi18.net域名
CPU核数:1核
内存大小:512MB
系统名称:CentOS 6.3 64位 安全加固版
宽带:1M
服务器地址:www.yi18.net
web服务器:Tomcat8
linux 安装 tomcat可以作为安装的产考,这里就不多说。本以为一切就绪,可以高高兴兴的享受自己的成就,但问题来了,Tomcat运行一段时间就宕机!于是不得不出现了下文。
首先Tomcat8还是alpha版本内测版本,但我还是没有怀疑是Tomcat的问题,所以不等不来配置Tomcat。
Tomcat自己的Manager
配置文件conf/tomcat-users.xml
角色
<role rolename="manager-gui"/> <user username="tomcat" password="s3cret" roles="manager-gui"/>我这里看到的JVM的信息
-Xmx Java Heap最大值,默认值为物理内存的1/4;
-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn Java Heap Young区大小,不熟悉最好保留默认值;
-Xss 每个线程的Stack大小,不熟悉最好保留默认值;
-XX:PermSize:设定内存的永久保存区域;
-XX:MaxPermSize:设定最大内存的永久保存区域;
-XX:PermSize:设定内存的永久保存区域;
-XX:NewSize:设置JVM堆的‘新生代’的默认大小;
-XX:MaxNewSize:设置JVM堆的‘新生代’的最大大小;
其实我们配置的基本上自由前面两个!贴出我的配置
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。
# OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms128m -Xmx128m" cygwin=false
由于我这里512M的物理总内存,网上建议用256M 但我这里用的MYSQL,所以内存设置在128M,不过也高兴得太早,Tomcat还是会出现自动关闭,查看log还是内存分配的问题!看来的我程序有问题,在做java web时一般不会考虑内存的,看来我错了,最后我不等不把 最大内存改为:-Xmx100m,
现在JVM信息,空闲: 14.16 MB 总内存: 100.56 MB 最大: 100.56 MB ,虽然系统慢了,但宕机就几率就减少了!慢总比错误好点。看来内存真重要!
清楚不必要的信息
在真实的部署下还是要清空webapps下的目录下所有内容
清理一下 logging.properties ,以免产生不必要的日志文件。
清理service.xml保留基本信息
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" executor="tomcatThreadPool"/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/yi18" docBase="/home/www/yi18" reloadbale="false"></Context> </Host> </Engine> </Service> </Server>
我这里就只添加了线程池,tomcatThreadPool
在默认的情况下Tomcat的sessionID 为JSESSIONID,而JSESSiONID是Tomcat特指的Cookie。虽然我这里没有用上Tomcat中的Session。但修改这个session cookie值也是必要的。我的配置如下
<Context docBase="/home/www/yi18"path="/yi18"reloadable="true" sessionCookieName="yi18_net"/>
所以这里的JSESSiONID就变成了yi18_net,其实也没有什么功能,只是觉得高端大气上档次。
本以为一切顺利,但自己的程序的确问题大,www.yi18.net访问依然问题多多!
在附上Nginx的优化配置http://my.oschina.net/mynote/blog/181612
|
|