Month9 月 2016

Java Web 另一個選擇 Resin

兩年前曾經碰過的一套Java Web Server

當初是因為總監的要求才去研究,實際摸過之後發現其實效能很好

正常的Java Web 都是 Apache + Tomcat

然後開始有人用 Nginx + Tomcat

最後我是摸到了 Nginx + Resin

如果沒被修改掉的話,Yiabi應該還是我們當初建置的 Nginx + Resin 架構

 

首先官網是 http://caucho.com/

右上角就可以下載,這個是手動編譯版本

下載tar.gz版本之後 解壓縮 進到目錄之後編譯

#/configure –prefix=/usr/local/resin

#修改設定檔

cd /usr/local/resin/conf

vi resin.properties

#註解拿掉

#web_admin_external : true
#port也在此修改
#修改設定vi resin.xml

修改webapp id與路徑

<web-app id=”/Maltese” root-directory=”/home/webuser/ResinJservRoot/Maltese”/>

修改自動deploy路徑設定
web-app-deploy path=”/home/webuser/ResinJservRoot”

如果有買專業版本的話,有cache機制可以使用

修改cache參數
vi resin.xml

在cluster 內增加
<server-header> </server-header>
<resin:if test=”${resin.professional}”>
<cache memory-size=”64M”>
<rewrite-vary-as-private/>
</cache>
</resin:if>

 

在<web-app-deploy 底下增加
<web-app-default>
<prologue>
<allow-servlet-el/>
</prologue>

<session-config>
<use-persistent-store/>
<enable-url-rewriting>false</enable-url-rewriting>
</session-config>

<resin:if test=”${resin.professional}”>
<cache-mapping url-pattern=”/” max-age=”5s”/>
<cache-mapping url-pattern=”*.gif” max-age=”60m”/>
<cache-mapping url-pattern=”*.jpg” max-age=”60m”/>
<cache-mapping url-pattern=”*.png” max-age=”60m”/>
<cache-mapping url-pattern=”*.css” max-age=”60s”/>
<cache-mapping url-pattern=”*.js” max-age=”60s”/>
</resin:if>
</web-app-default>

接著是啟動與停止指令
啟動
/usr/local/resin/bin/resin.sh start
停止
/usr/local/resin/bin/resin.sh stop

效能上來說比tomcat快上約40%

不過免費版本最好的就是搭配Nginx使用

比較彈性也方便

AWS-CLI簡易切換ELB Health check

在工作上因為盡可能要做到自動化

所以很多指令操作都寫成了一堆的shell script (誰叫我linux系的XD)

在公司的系統維護上因為有需要切換維護頁面的顯示,但是在產品設計上有跟nginx連動

所以在原本的ELB health check在tomcat關閉的時候需要切換到80 port的nginx維護頁面上

所以為了方便,寫了這個小工具

主要是用aws cli 與iam的身分去執行

#!/bin/bash

case $1 in
java)
aws elb configure-health-check –load-balancer-name jack-sim –health-check Target=HTTP:80/java/,Interval=15,UnhealthyThreshold=2,HealthyThreshold
=2,Timeout=3
;;
web)
aws elb configure-health-check –load-balancer-name jack-sim –health-check Target=HTTP:80/,Interval=15,UnhealthyThreshold=2,HealthyThreshold=2,Timeou
t=3
;;
*)
echo “Usage: $0 {java|web}”
esac
exit 0

主要就切換 80:/ 與 80:/java/ 兩個health check的監控存活頁面

畢竟在java更新重啟的時候會失效導致ELB將server抽掉,user無法正常瀏覽到維護畫面

所以切換給80由nginx判斷並顯示維護畫面,也可以透過nginx的判斷讓公司內部進入測試

 

AWS CloudTrail Log問題

最近公司的AWS帳號開啟了 CloudTrauil的功能

但是最近在查詢操作紀錄的時候發現到有怪怪的LOG

%e6%93%b7%e5%8f%96

我使用IAM user進行操作,但是出現了root的操作紀錄

詢問了一下主管,並未使用root同時進行操作

然後細查了LOG的內容是針對同一個service的操作

詢問了新加坡的TC之後,得到了一個連結

https://aws.amazon.com/tw/premiumsupport/knowledge-center/cloudtrail-root-action-logs/

說明這個狀況是正常的XD

提供給需要的人參考…

© 2024 Kila's IT Home

Theme by Anders NorénUp ↑