用日誌記錄「開源軟件」的誕生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】點擊星標。等待着您的支持!