用日志记录“开源软件”的诞生javascript
赤龙ERP开源地址:css
点亮星标,感谢支持,与开发者交流 kzca2000html
码云:https://gitee.com/redragon/redragon-erpjava
GitHub:https://github.com/redragon1985/redragon-erpgit
赤龙ERP官网:https://www.redragon-erp.comgithub
上一篇刚刚讲了云服务器的搭建,在服务器搭建完成后,紧接着就是安装各类必须的软件、中间件、以及进行必要的优化配置。先说说须要安装的软件及注意事项:web
(1)JDK安装及环境变量的配置:如何安装JDK以及如何配置环境变量,网络有不少资料,在此不作赘述。只说几个建议,首先建议安装JDK而不是JRE,由于JDK的bin目录自带了更多功能组件,其次JDK版本建议选择JDK7或8,新版每每因为各类缘由不够稳定和持续。redis
(2)Tomcat安装的版本建议选择7或8,根据JDK的对应版本去选择。安装过程简单无特殊要注意的地方。算法
(3)MySQl能够选择最新版,安装时注意端口号和服务名。apache
(4)Redis能够选择最新版,Redis默认都是Linux版,若是须要Windows版本,可去GitHub下载:https://github.com/microsoftarchive/redis。安装时注意端口,安装后最好设置一下开机启动。
网上涉及到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优化主要是对内存的优化,直接修改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配置较为简单,主要是密码,链接,内存和持久化
port 6379 : 监听端口 requirepass redis :配置redis用户密码 maxclients 10000 :设置redis的最大链接数 maxmemory 1024MB :配置的最大内存容量 maxmemory-policy volatile-lru :内存容量超过maxmemory后的处理策略(LRU算法) appendonly yes :使用AOF持久化 appendfsync everysec :AOF持久化策略的配置(每秒执行一次)
首先要有一个SSL的证书,如何获取证书上一篇已说明。但有了证书JDK必须完成相应的证书导入才能生效。具体步骤以下:
(1)进入JDK找到文件cacerts所在目录
cd $JAVA_HOME/jre/lib/security
(2)使用keytool命令导入证书
keytool -import -alias 别名 -keystore cacerts -file /目录/证书.cer
输入以上命令后,会提示输入证书库的密码,默认密码changeit(可修改)
今天写了开源系列最长的一篇文章,但愿可以让你们对开源软件的诞生过程有一个清晰的认识,也但愿更多的人能够理解支持咱们的开源精神,以及这种分享和创新理念。开源不断,文章不停,让咱们下篇继续!
但愿您读完本文能够帮助笔者进入【码云】或【GitHub】点击星标。等待着您的支持!