Resin服務器的配置主要有兩個文件:resin.properties for most common properties and resin.xml for full customization。Resin的配置最終都轉化為resin.xml,其他配置文件主要為了保持配置的可管理性。一般情況下只需要修改resin.properties即可。
resin.properties文件位於${resin.home}/conf/ 路徑下面,屬性可以通過cluster或者server的名稱來限定具體配置應用到那個cluster或者server,並通過<resin:properties>標簽引入。下面看看resin.properties文件主要配置哪些參數。
應用服務器關鍵配置
一個基本的應用服務器需要配置一些關鍵的參數:HTTP port(HTTP端口號), the servers in the cluster(集群里面是服務器), the operating system user(操作系統用戶) 和 the JVM arguments for memory and GC(JVM的內存及垃圾回收參數)。集群里面的服務器都使用同樣的resin.xml及resin.properties配置文件。啟動時,Resin會自動檢測本身所在的服務器並啟動它。
PROPERTY | DESCRIPTION |
---|---|
app_servers | 集群應用服務器層的 IP地址列表,每個IP對於一個服務器 |
app.http | 每個應用服務器層的HTTP端口號 |
setuid_user | Resin實體所屬的操作系統用戶名 |
setuid_group | Resin實體所屬的操作系統用戶組名 |
jvm_args | 配置Resin實體的Java參數 |
Web層(負載均衡器)的關鍵配置
Web層的配置是用於一個網絡服務器,它用於處理HTTP請求,負載均衡,代理緩存以及運行servlet應用的應用服務器。網絡服務器均衡負載,代理HTTP請求到后台的應用集群。增加app_servers可以實現服務器擴展。
內存緩存層關鍵配置
配置Resin作為一個內存緩存服務器,需配置以下參數:
memcached_servers : 127.0.0.1:6820 memcached_port : 11211 memcached.http : 8080 #用於/resin-admin管理和REST管理員
最大線程數(accept_thread_max)
accept_thread_max限制端口上等待的最大連接線程。更大的值能夠提供更好的靈活性,因為有更多的在等待的閑置線程。通常情況下使用默認值即可,不需要更改。
port_thread_max : 256
accept_thread_max : 32
accept_thread_min : 4
accept_thread_min
accept_thread_min 用於維持監聽連接的最小線程數量,它和accept_thread_max一起管理等待線程在一個合理的范圍。通常情況下使用默認值即可。
管理員密碼(admin_password)
admin_password 是/resin-admin administration, REST, and remote resinctl CLI administration的管理員用戶密碼。可以通過CLI resinctl generate-password 或者 /resin-admin的登陸界面生成。
admin_user : my-admin admin_password : {SSHA}G3UOLv0dkJHTZxAwmhrIC2CRBZ4VJgTB web_admin_enable : true web_admin_ssl : true web_admin_external : false remote_cli_enable : false rest_admin_enable : true rest_admin_ssl : true
通過resinctl generate-password生成密碼的例子:
unix> resinctl generate-password my-admin my-password
管理員(admin_user)
admin_user用於創建管理員用戶名,作為 /resin-admin 管理員, REST, and remote resinctl CLI 管理員。需要配合admin_password 和 web_admin_enable一起使用。同樣,也是通過CLI resinctl generate-password 或者 /resin-admin的登陸界面生成。
app.http
“app”集群的HTTP端口號,其中“app”是前綴,表示參數限定的集群的名稱。
app.https
“app”集群的HTTPS的端口號,通常和openssl_file, openssl_key andopenssl_password 一起使用。
cluster_system_key
集群里面Resin服務器共享的密鑰,可以是如何字符串。當集群里的服務器相連接時會進行檢查。
dependency_check_interval
設置Resin檢查更新的頻率,開發時設置為較小的值,部署環境下設置為一個較大值,例如:
dependency_check_interval : 2m
elastic_cloud_enable
elastic_cloud_enable 設置是否允許服務器動態加入集群。通過以下兩種方式:“start”命令后跟--elastic-server參數;elastic_server配置屬性被配置,Resin將會作為一個動態服務器加入集群。要加入的集群可以通過--cluster foo(foo為集群名),或者home_cluster屬性配置來確定。
Example: elastic_cloud_enable
app_servers : 182.168.1.10:6800 elastic_server : true elastic_cloud_enable : true home_cluster : app
# resinctl start --elastic-server --cluster app
elastic_dns
待續