中間件的安裝和優化——開源軟件誕生6

軟件及中間件的安裝和配置--第6篇

用日誌記錄「開源軟件」的誕生javascript

赤龍ERP開源地址:css

點亮星標,感謝支持,與開發者交流 kzca2000html

碼雲:https://gitee.com/redragon/redragon-erpjava

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

赤龍ERP官網:https://www.redragon-erp.comgithub

中間件的安裝和優化——開源軟件誕生6

 

軟件安裝

上一篇剛剛講了雲服務器的搭建,在服務器搭建完成後,緊接着就是安裝各類必須的軟件、中間件、以及進行必要的優化配置。先說說須要安裝的軟件及注意事項: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優化的內容不少,人家已經屢次說過的我不作贅述。我以本身服務器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】點擊星標。等待着您的支持!

相關文章
相關標籤/搜索