美文网首页程序员开源人生
中间件的安装和优化——开源软件诞生6

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

作者: redragon1985 | 来源:发表于2020-09-05 11:22 被阅读0次

    软件及中间件的安装和配置--第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】点击星标。等待着您的支持!

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/dsgxektx.html