這裏我就分享一下,雖然有些不足!但但願有所分享和幫助! java
先介紹一下服務器,在阿里雲上買的包月服務器69個大洋,做爲底層的碼農還真的出血了。同時也在阿里雲旗下的萬網 註冊了yi18.net域名
CPU核數:1核
內存大小:512MB
系統名稱:CentOS 6.3 64位 安全加固版
寬帶:1M
服務器地址:www.yi18.net
web服務器:Tomcat8
linux 安裝 tomcat能夠做爲安裝的產考,這裏就很少說。本覺得一切就緒,能夠高高興興的享受本身的成就,但問題來了,Tomcat運行一段時間就宕機!因而不得不出現了下文。 linux
首先Tomcat8仍是alpha版本內測版本,但我仍是沒有懷疑是Tomcat的問題,因此不等不來配置Tomcat。 web
Tomcat本身的Manager
配置文件conf/tomcat-users.xml
角色
tomcat
<role rolename="manager-gui"/> <user username="tomcat" password="s3cret" roles="manager-gui"/>我這裏看到的JVM的信息
-Xmx Java Heap最大值,默認值爲物理內存的1/4;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設爲相同值,開發測試機JVM能夠保留默認值;
-Xmn Java Heap Young區大小,不熟悉最好保留默認值;
-Xss 每一個線程的Stack大小,不熟悉最好保留默認值;
-XX:PermSize:設定內存的永久保存區域;
-XX:MaxPermSize:設定最大內存的永久保存區域;
-XX:PermSize:設定內存的永久保存區域;
-XX:NewSize:設置JVM堆的‘新生代’的默認大小;
-XX:MaxNewSize:設置JVM堆的‘新生代’的最大大小; 安全
其實咱們配置的基本上自由前面兩個!貼出個人配置
要添加在tomcat 的bin 下catalina.sh 裏,位置cygwin=false前 。 服務器
# OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms128m -Xmx128m" cygwin=false
因爲我這裏512M的物理總內存,網上建議用256M 但我這裏用的MYSQL,因此內存設置在128M,不過也高興得太早,Tomcat仍是會出現自動關閉,查看log仍是內存分配的問題!看來的我程序有問題,在作java web時通常不會考慮內存的,看來我錯了,最後我不等不把 最大內存改成:-Xmx100m,
如今JVM信息,空閒: 14.16 MB 總內存: 100.56 MB 最大: 100.56 MB ,雖然系統慢了,但宕機就概率就減小了!慢總比錯誤好點。看來內存真重要! cookie
清楚沒必要要的信息 session
在真實的部署下仍是要清空webapps下的目錄下全部內容 app
清理一下 logging.properties ,以避免產生沒必要要的日誌文件。
清理service.xml保留基本信息 webapp
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" executor="tomcatThreadPool"/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/yi18" docBase="/home/www/yi18" reloadbale="false"></Context> </Host> </Engine> </Service> </Server>
我這裏就只添加了線程池,tomcatThreadPool
在默認的狀況下Tomcat的sessionID 爲JSESSIONID,而JSESSiONID是Tomcat特指的Cookie。雖然我這裏沒有用上Tomcat中的Session。但修改這個session cookie值也是必要的。個人配置以下
<Context docBase="/home/www/yi18"path="/yi18"reloadable="true" sessionCookieName="yi18_net"/>
因此這裏的JSESSiONID就變成了yi18_net,其實也沒有什麼功能,只是以爲高端大氣上檔次。
本覺得一切順利,但本身的程序的確問題大,www.yi18.net訪問依然問題多多!
在附上Nginx的優化配置http://my.oschina.net/mynote/blog/181612