码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-09-17 13:15:56      阅读:32      评论:0      收藏:0      [点我收藏+]

标签:rip   efi   epg   als   表示   gzip   tom   有一个   垃圾回收   

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

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

赤龙ERP开源地址:

点亮星标,感谢支持,与开发者交流 kzca2000

码云:https://gitee.com/redragon/redragon-erp

GitHub:https://github.com/redragon1985/redragon-erp

赤龙ERP官网:https://www.redragon-erp.com

技术图片

 

软件安装

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

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

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

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

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

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" 

   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

标签:rip   efi   epg   als   表示   gzip   tom   有一个   垃圾回收   

原文地址:https://www.cnblogs.com/redragon/p/13614212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!