软件及中间件的装置和配置 – 第 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/microsofta…。装置时留神端口,装置后最好设置一下开机启动。
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】点击星标。期待着您的反对!