您的位置 首页 java

中间件的安装和优化——开源软件诞生6

软件及中间件的安装和配置–第6篇

用日志记录“开源软件”的诞生

中间件的安装和优化——开源软件诞生6

软件安装

上一篇刚刚讲了云服务器的搭建,在服务器搭建完成后,紧接着就是安装各种必须的软件、中间件、以及进行必要的优化配置。先说说需要安装的软件及注意事项:

(1)JDK安装及环境变量的配置:如何安装JDK以及如何配置环境变量,网络有很多资料,在此不做赘述。只说几个建议,首先建议安装JDK而不是JRE,因为JDK的bin目录自带了更多功能组件,其次JDK版本建议选择JDK7或8,新版往往由于各种原因不够稳定和持续。

(2)Tomcat安装的版本建议选择7或8,根据JDK的对应版本去选择。安装过程简单无特殊要注意的地方。

(3)MySQl可以选择最新版,安装时注意端口号和服务名。

(4)Redis可以选择最新版,Redis默认都是Linux版,如果需要Windows版本,可去GitHub下载:。安装时注意端口,安装后最好设置一下开机启动。

Tomcat优化配置

网上涉及到Tomcat优化的内容很多,人家已经多次说过的我不做赘述。我以自己服务器Tomcat配置为案例进行一下简单的分析:

(1)Connector是用于Tomcat建立连接的,下面做一下简要说明

 <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
   URIEncoding="UTF-8"
   maxThreads="200"
   minProcessors="5"
   maxProcessors="1000"
   minSpareThreads="25" 
   maxSpareThreads="75" 
   acceptCount="100"
   connectionTimeout="50000"
   enableLookups="false"
   redirectPort="443" 
   compression="on"
   compressionMinSize="2048"
   noCompressionUserAgents="gozilla,traviata" 
   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />  
  • port是端口,一般对外的服务会改成80
  • protocol是协议,改为NIO,非阻塞式I/O会优化线程的利用率
  • URIEncoding编码UTF-8,避免不必要的乱码
  • maxThreads是用于处理请求的最大线程数
  • acceptCount等待分配线程的连接的队列数量
  • connectionTimeout连接超时的毫秒数
  • redirectPort重定向HTTPS协议的端口
  • compression为gzip压缩,一定程度上可以压缩传输数据的大小

(2)SSL协议配置

 <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
   URIEncoding="UTF-8" 
   maxThreads="200" 
              
   <!-- SSL配置 -->
   SSLEnabled="true" 
   scheme="https" 
   secure="true"
   clientAuth="false" 
   sslProtocol="TLS" 
   <!-- 证书配置 -->
   keystoreType="PKCS12"
   keystoreFile= "/conf/redragon-erp.com.pfx" 
   keystorePass="123456" />  
  • port端口为443
  • SSLEnabled用于HTTPS协议的开启
  • keystore几个参数项用于证书的配置。keystoreFile证书的存储位置,keystorePass证书密码

(3)Host用来配置虚拟主机,结合Context实现应用的配置,下面做一下简要说明

 <Host name="www.redragon-erp.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

   <Alias>redragon-erp.com</Alias>

   <Context path="" docBase="F:erp" reloadable="false"/>
   <Context path="caserver" docBase="F:caserver" reloadable="false"/>
   <Context path="root" docBase="ROOT" reloadable="false"/>
</Host>  
  • Host的name属性配置你的主域名
  • Alias用于多个域名的配置
  • Context用于配置应用,一个应用配置一个Context,path用于配置访问应用的路径,空代表域名直接访问当前应用。docBase用于配置应用的路径,可以是相对路径也可以是绝对路径。

JVM优化配置

JVM优化主要是对内存的优化,直接修改Tomcat启动文件即可,下面说下常用参数

 -Xmx2048m -Xms2048m :堆内存初始大小和最大内存,如果内存足够建议直接相等即可
-XX:NewRatio=3 :新生代和老年代内存比,即1:3,建议适当调大新生代的占比,减少垃圾回收次数
-XX:MaxTenuringThreshold=6 :新生代进入老年代的垃圾回收次数
-XX:+UseConcMarkSweepGC :设置老年代并发GC
-XX:+UseParNewGC : 设置新生代并发GC
-XX:ParallelGCThreads=4 : 并行GC线程数,与CPU内核数相等
-XX:+CMSParallelRemarkEnabled :开启并行标记收集
-XX:+UseCMSCompactAtFullCollection :老年代内存压缩
-XX:CMSFullGCsBeforeCompaction=3 :老年代几次GC后进行内存压缩
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:CMSInitiatingOccupancyFraction=70 :上面两个配置,表示老年代内存占用70%时GC  

由于1.8后JVM的永久代已取消,而替代者元空间无须特殊配置

Redis优化配置

Redis配置较为简单,主要是密码,连接,内存和持久化

 port 6379 : 监听端口
requirepass redis :配置redis用户密码
maxclients 10000 :设置redis的最大连接数
maxmemory 1024MB :配置的最大内存容量
maxmemory-policy volatile-lru :内存容量超过maxmemory后的处理策略(LRU算法)
appendonly yes :使用AOF持久化
appendfsync everysec :AOF持久化策略的配置(每秒执行一次)  

JDK安装证书

首先要有一个SSL的证书,如何获取证书上一篇已说明。但有了证书JDK必须完成相应的证书导入才能生效。具体步骤如下:

(1)进入JDK找到文件cacerts所在目录

 cd $JAVA_HOME/jre/lib/security  

(2)使用keytool命令导入证书

 keytool -import -alias 别名 -keystore cacerts -file /目录/证书.cer  

输入以上命令后,会提示输入证书库的密码,默认密码changeit(可修改)

后记

今天写了开源系列最长的一篇文章,希望能够让大家对开源软件的诞生过程有一个清晰的认识,也希望更多的人可以理解支持我们的开源精神,以及这种分享和创新理念。开源不断,文章不停,让我们下篇继续!

希望您读完本文可以帮助笔者进入【码云】或【GitHub】点击星标。等待着您的支持![谢谢]

文章来源:智云一二三科技

文章标题:中间件的安装和优化——开源软件诞生6

文章地址:https://www.zhihuclub.com/196607.shtml

关于作者: 智云科技

热门文章

网站地图