软件及中间件的安装和配置--第6篇
用日志记录“开源软件”的诞生
赤龙ERP开源地址:
点亮星标,感谢支持
码云: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】点击星标。等待着您的支持!
网友评论