2019-06-20 14:09:35 5027浏览
今天千锋扣丁学堂Linux培训老师给大家分享一篇关于Linux下Tomcat安装与优化的详细介绍,首先Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
[root@tomcat1 ~]# rm -rf $(which java) [root@tomcat1 ~]# tar xf jdk-7u80-linux-x64.tar [root@tomcat1 ~]# mv jdk1.7.0_80/ /usr/local/java
[root@tomcat1 ~]# tar xf apache-tomcat-8.5.20.tar.gz [root@tomcat1 ~]# mv apache-tomcat-8.5.20 /usr/local/tomcat8
[root@tomcat1 ~]# vim /etc/profile.d/java.sh export JAVA_HOME="/usr/local/java" ##设置java根目录 export PATH=$PATH:$JAVA_HOME/bin:/usr/local/tomcat8/bin #在PATH环境变量中添加java跟目录的bin子目录 [root@tomcat1 ~]# . /etc/profile #将java.sh 脚本导入到环境变量,使其生效
[root@tomcat1 ~]# java -version java version "1.7.0_65" Java(TM) SE Runtime Environment (build 1.7.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
[root@tomcat1 ~]# /usr/local/tomcat7/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat7 Using CATALINA_HOME: /usr/local/tomcat7 Using CATALINA_TMPDIR: /usr/local/tomcat7/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar Tomcat started. Tomcat 默认运行在8080端口 [root@tomcat1 ~]# netstat -anpt |grep :8080 tcp 0 0 :::8080 :::* LISTEN 3318/java
[root@tomcat1 ~]# /usr/local/tomcat7/bin/shutdown.sh 浏览器访问测试 http://IP:端口
[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml 修改端口: 8080 - 9528 8005 - 9529 8009 - 9530 [root@tomcat1 ~]# /usr/local/tomcat8/bin/startup.sh [root@tomcat1 ~]# netstat -anpt | grep java tcp 0 0 0.0.0.0:9528 0.0.0.0:* LISTEN 5625/java tcp 0 0 127.0.0.1:9529 0.0.0.0:* LISTEN 5625/java tcp 0 0 0.0.0.0:9530 0.0.0.0:* LISTEN 5625/java 注意:关闭防火墙和selinux安全机制,如果是阿里云服务器,控制台安全组需要放行TCP协议8080端口。 systemctl disable firewalld 永久关闭防火墙 systemctl stop firewalld 临时关闭防火墙 setenforce 0 关闭Selinux
/usr/local/tomcat 主目录(安装目录) bin 存放windows或linux平台上启动或关闭的Tomcat的脚本文件 conf 存放Tomcat的各种全局配置文件,其中最主要的是server.xml和web.xml lib 存放Tomcat运行需要的库文件(JARS) logs 存放Tomcat执行时的LOG文件 webapps Tomcat的主要Web发布目录(包括应用程序事例)htdocs(html php) work 存放jsp编译后产生的class文件 [root@tomcat1 ~]# ls /usr/local/tomcat/conf/ catalina.policy 权限控制配置文件 catalina.properties Tomcat属性配置文件 context.xml 上下文配置文件(selinux) logging.properties 日志log相关配置文件 server.xml 主配置文件 tomcat-users.xml manager-gui管理用户配置文件(Tomcat安装后生成的管理界面,该文件可开启访问) web.xml Tomcat的servlet,servlet-mapping,filter,MIME等相关配置 server.xml 主要配置文件,可修改启动端口,设置网站根目录,虚拟主机,开启https等功能。
[root@tomcat1 conf]# vim server.xml 注释: <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
#去掉注释 <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
#去掉注释并修改maxThreads: <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="300" minSpareThreads="4"/> --> #去掉注释并修改protocol: <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" /> #删除俩参数: <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"/> (这是删除后的) # <Connector executor="tomcatThreadPool"下面添加: port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="1000" minSpareThreads="100" maxSpareThreads="200" acceptCount="1000" disableUploadTimeout="true" connectionTimeout="20000" URIEncoding="UTF-8" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png" redirectPort="8443" />
编辑catalina.sh配置文件 [root@tomcat1 ~]# vim /usr/local/tomcat8/bin/catalina.sh # OS specific support. $var _must_ be set to either true or false.下面添加 JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=8 -XX:CMSInitiatingOccupancyFraction=80 -XX: +UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-PrintGC -XX:-PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:../logs/gc.log" 参数 描述 -Xms 堆内存初始大小,单位m、g -Xmx 堆内存最大允许大小,一般不要大于物理内存的80% -XX:PermSize 非堆内存初始大小,一般应用设置初始化200m,最大1024m就够了 -XX:MaxPermSize 非堆内存最大允许大小 -XX:+UseParallelGCThreads=8 并行收集器线程数,同时有多少个线程进行垃圾回收,一般与CPU数量相等 -XX:+UseParallelOldGC 指定老年代为并行收集 -XX:+UseConcMarkSweepGC CMS收集器(并发收集器) -XX:+UseCMSCompactAtFullCollection 开启内存空间压缩和整理,防止过多内存碎片
#server.xml配置文件下: [root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml # <Connector executor="tomcatThreadPool"下面添加: port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="1000" minSpareThreads="100" maxSpareThreads="200" acceptCount="1000" disableUploadTimeout="true" connectionTimeout="20000" URIEncoding="UTF-8" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png" redirectPort="8443" /> #参数说明: org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。 minSpareThreads:最小空闲线程数。 maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。 acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。 disableUploadTimeout:禁用上传超时时间 connectionTimeout:连接超时,单位毫秒,0代表不限制 URIEncoding:URI地址编码使用UTF-8 enableLookups:关闭dns解析,提高响应时间 compression:启用压缩功能 compressionMinSize:最小压缩大小,单位Byte compressableMimeType:压缩的文件类型
【关注微信公众号获取更多学习资料】 【扫码进入HTML5前端开发VIP免费公开课】