大部分的服务都离不开JAVA环境,CentOS里都是OpenJDK,显然我们还是使用JAVA的JDK好。(注:CentOS minimal版没有安装OpenJDK,其它版本需要删除这个。)
从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JDK的tar.gz版本。
1,这是下载的jdk-8u60-linux-x64.tar.gz版本,安装过程如下:
[root@localhost ~]# ls
jdk-8u60-linux-x64.tar.gz
[root@localhost ~]#tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local,
2,然后编辑/etc/profile文件,在文件最下面添加以下3行:
[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_77
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
或者用以下的这个也可以:
JAVA_HOME=/usr/java
CLASSPATH=$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:/opt/app/nginx-1.8.0/sbin:/opt/app/mysql/bin
export PATH JAVA_HOME CLASSPATH
3,保存退出,source一下文件
[root@localhost ~]# source /etc/profile
4,查看java版本:
[root@localhost ~]# java -v
-bash: /usr/local/jdk1.8.0_77/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
出现以上这个错误,查资料得知,是因为缺少一个软件包
[root@localhost ~]# yum -y install glibc.i686
安装完成之后再开查看java版本,这次出现了我们想要的结果。
[root@localhost ~]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) Client VM (build 25.77-b03, mixed mode)
1,下载tomcat,网址是:http://tomcat.apache.org/download-80.cgi,下载的版本是,apache-tomcat-8.0.33.tar.gz,压缩包移动到/usr/local下面
[root@localhost ~]#cd /usr/local
[root@localhost ~]# tar -zxvf apache-tomcat-7.0.29.tar.gz // 解压压缩包
[root@localhost ~]# mv apache-tomcat-7.0.29 tomcat
2,启动tomcat:
[root@localhost local]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_77
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
3,关闭防火墙或者对外开放8080端口,我这里是直接关闭了iptables,关闭selinux,然后用浏览器测试,出现以下画面,说明tomcat环境已经搭建完成了。
1,配置tomcat的是用内存:
vim /usr/local/tomcat1/bin/catalina.sh添加如下一行:
JAVA_OPTS=" -server -Xms2000m -Xmx2000m -XX:PermSize=256m -Xmn1024m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:InitialCodeCacheSize=256m -XX:ReservedCodeCacheSize=256m"
1.JAVA_OPTS参数说明
Java代码
-server 启用jdk 的 server 版;
-Xms java虚拟机初始化时的最小内存;
-Xmx java虚拟机可使用的最大内存;
-XX:PermSize 内存永久保留区域
-XX:MaxPermSize 内存最大永久保留区域
设置Tomcat启动的初始内存,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项,要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值 【初始化内存大小】
-Xmx:最大值 【可以使用的最大内存】
-Xmn:最小值
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
1.Tomcat连接相关参数
在Tomcat配置文件conf下面 server.xml 中的配置中和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
2.参数说明
默认的tomcat 参数:
修改:
这样设置以后,基本上没有再当机过。
protocol="org.apache.coyote.http11.Http11NioProtocol" ///使用java的异步io护理技术,no blocking IO
maxThreads=“600" 表示最多同时处理600个连接 ///最大线程数
minSpareThreads=“100" 表示即使没有人使用也开这么多空线程等待 ///初始化时创建的线程数
maxSpareThreads=“500" 表示如果最多可以空500个线程,例如某时刻有505人访问,之后没有人访问了,则tomcat不会保留505个空线程,而是关闭505个空的。 ///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
这里是http connector的优化,如果使用apache和tomcat做集群的负载均衡,并且使用ajp协议做apache和tomcat的协议转发,那么还需要优化ajp connector。
connectionTimeout="20000" redirectPort="8443" />