1、Java jdk安裝:
#下載相應(yīng)的jdk軟件包,然后解壓安裝,我這里包名稱為:jdk-7u25-linux-x64.tar.gz???
????
tar?-xzf?jdk-7u25-linux-x64.tar.gz?;mkdir?-p?/usr/java/?;mv?jdk1.7.0_25/?/usr/java/?下.
???
#然后配置環(huán)境變量,這樣可以任何地方引用jdk,如下配置:???
???
#vi /etc/profile 最后面加入以下語句:???
????
export?java_home=/usr/java/jdk1.7.0_25? ? export?classpath=$classpath:$java_home/lib:$java_home/jre/lib? ? export?path=$java_home/bin:$java_home/jre/bin:$path:$homr/bin
???
#source /etc/profile?? #使環(huán)境變量馬上生效??
???
#java? –version??? #查看java版本,看到j(luò)dk1.7.0_25版本即代表java jdk安裝成功。
2、nginx安裝:
wget?http://nginx.org/download/nginx-1.2.6.tar.gz? ? useradd?www? ? tar?zxvf?nginx-1.2.6.tar.gz? ? cd?nginx-1.2.6/? ? ./configure?--user=www?--group=www?--prefix=/usr/local/nginx? ?--with-http_stub_status_module?--with-http_ssl_module? ? make?&&?make?install
???
#nginx安裝完畢,然后使用命令:/usr/local/nginx/sbin/nginx -t 測試ok,代表nginx安裝成功。??
???
/usr/local/nginx/sbin/nginx 回車啟動nginx,可以通過訪問http://ip/看到nginx默認(rèn)頁面。
3、tomcat安裝:
#官方網(wǎng)站下載tomcat 6.0.30或者其他版本:???
????
cd?/usr/src?&&?tar?xzf?apache-tomcat-6.0.30.tar.gz
???
#直接解壓就可以使用,解壓完成執(zhí)行,同時拷貝兩個tomcat,命名為tomcat1 tomcat2???
????
mv?apache-tomcat-6.0.30?/usr/local/tomcat1? ? cp?/usr/local/tomcat1?/usr/local/tomcat2?-r
???
#分別修改tomcat1和tomcat2 端口,這里有三個端口需要修改,分別如下:??
???
shutdown 端口:8005? 主要負(fù)責(zé)啟動關(guān)閉.??
???
ajp端口:8009 主要負(fù)責(zé)通過ajp均衡(常用于apache和tomcat整合)??
???
http端口:8080 可以通過web頁面直接訪問(nginx+tomcata整合)??
???
#注* 如果tomcat1三個端口分別為:8005 8009 8080 ,那么tomcat2端口在此基礎(chǔ)上都+1,即為:8006 8010 8081??
???
#一臺服務(wù)器上,端口不能重復(fù),否則會報錯。??
???
#修改完端口后,然后啟動兩個tomcat,啟動命令為:??
???
#如何提示沒有這個文件或者權(quán)限不足,需要tomcat 的bin目錄對sh文件賦予執(zhí)行權(quán)限:chmod o+x?? *.sh???
????
/usr/local/tomcat1/bin/startup.sh? ? /usr/local/tomcat2/bin/startup.sh
???
#啟動后,使用netstat -tnl 可以看到6個端口,即代表tomcat1 tomcat2成功啟動。你可以使用http://ip:8080? http://ip:8081訪問tomcat默認(rèn)頁面。?
#如果需要修改tomcat發(fā)布目錄為自己制定的目錄,需要做如下調(diào)整,創(chuàng)建兩個發(fā)布目錄:
mkdir?-p?/usr/webapps/{www1,www2}
編輯vi /usr/local/tomcat1/conf/server.xml 在最后前一行加下內(nèi)容:
<context></context>
編輯vi /usr/local/tomcat2/conf/server.xml 在最后前一行加下內(nèi)容:
<context></context>
tomcat1發(fā)布目錄內(nèi)容:
? ? <h1>tomcat_1?jsp?test?page</h1>? ? ?
tomcat2發(fā)布目錄內(nèi)容:
? ? <h1>tomcat_2?jsp?test?page</h1>? ? ?
然后訪問http://ip:8080、8081查看測試內(nèi)容。
4、nginx+tomcat整合:
整合主要是修改nginx.conf配置,給一個完整的nginx.conf線上配置,部分參數(shù)可以自己根據(jù)實際需求修改:
user?www?www;? worker_processes?8;? pid?/usr/local/nginx/nginx.pid;? worker_rlimit_nofile?102400;? events? {? use?epoll;? worker_connections?102400;? }? http? {? ?include??mime.types;? ?default_type?application/octet-stream;? ?fastcgi_intercept_errors?on;? ?charset?utf-8;? ?server_names_hash_bucket_size?128;? ?client_header_buffer_size?4k;? ?large_client_header_buffers?4?32k;? ?client_max_body_size?300m;? ?sendfile?on;? ?tcp_nopush??on;? ?? ?keepalive_timeout?60;? ?? ?tcp_nodelay?on;? ?client_body_buffer_size?512k;? ? ?proxy_connect_timeout?5;? ?proxy_read_timeout??60;? ?proxy_send_timeout??5;? ?proxy_buffer_size??16k;? ?proxy_buffers???4?64k;? ?proxy_busy_buffers_size?128k;? ?proxy_temp_file_write_size?128k;? ?? ?gzip?on;? ?gzip_min_length?1k;? ?gzip_buffers??4?16k;? ?gzip_http_version?1.1;? ?gzip_comp_level?2;? ?gzip_types??text/plain?application/x-javascript?text/css?application/xml;? ?gzip_vary?on;? ?? ###2012-12-19?change?nginx?logs? log_format?main?'$http_x_forwarded_for?-?$remote_user?[$time_local]?"$request"?'? ????'$status?$body_bytes_sent?"$http_referer"?'? ????'"$http_user_agent"?$request_time?$remote_addr';? ????? upstream?web_app?{? ?server?127.0.0.1:8080?weight=1?max_fails=2?fail_timeout=30s;? ?server?127.0.0.1:8081?weight=1?max_fails=2?fail_timeout=30s;? }? ? ####chinaapp.sinaapp.com? server?{? ?listen?80;? ?server_name?chinaapp.sinaapp.com;? ?index?index.jsp?index.html?index.htm;? ?#發(fā)布目錄/data/www? ?root?/data/www;? ?? ?location?/? ?{? ?proxy_next_upstream?http_502?http_504?error?timeout?invalid_header;? ?proxy_set_header?host?$host;? ?proxy_set_header?x-real-ip?$remote_addr;? ?proxy_set_header?x-forwarded-for?$proxy_add_x_forwarded_for;? ?proxy_pass?http://web_app;? ?expires??3d;? ?}? ?? ?}? ? }
#注* server段 proxy_pass定義的web_app需要跟upstream 里面定義的web_app一致,否則server找不到均衡。???
#如上配置,nginx+tomcat反向代理負(fù)載均衡配置完畢,如果要做動靜分離,只需要在nginx添加如下配置就ok了。
?#配置nginx動靜分離???
??
location?~?.*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$? ? {? ? root?/data/www;? ? #expires定義用戶瀏覽器緩存的時間為3天,如果靜態(tài)頁面不常更新,可以設(shè)置更長,這樣可以節(jié)省帶寬和緩解服務(wù)器的壓力? ? expires??3d;? ? }
5、開啟nginx的監(jiān)控
1)、nginx簡單狀態(tài)監(jiān)控
在nginx.conf中添加如下代碼即可監(jiān)控nginx當(dāng)前的狀態(tài),然后訪問http://serverip/status即可訪問
location?/status?{ stub_status?on; access_log?off; }
一般顯示為
active?connections:?16? server?accepts?handled?requests 191226?191226?305915? reading:?0?writing:?1?waiting:?15
ctive connections: 對后端發(fā)起的活動連接數(shù).
server accepts handled requests: nginx總共處理了24個連接,成功創(chuàng)建24次握手(證明中間沒有失敗的),總共處理了129個請求.
reading: nginx 讀取到客戶端的header信息數(shù).
writing: nginx 返回給客戶端的header信息數(shù).
waiting: 開啟keep-alive的情況下,這個值等于 active – (reading + writing),意思就是nginx已經(jīng)處理完成,正在等候下一次請求指令的駐留連接.
注意的,本模塊默認(rèn)是不會編譯進nginx的,如果你要使用該模塊,則要在編譯安裝nginx時指定:
?./configure?–with-http_stub_status_module
?查看已安裝的 nginx 是否包含 stub_status 模塊
?#/usr/local/nginx/sbin/nginx?-v
tls?sni?support?disabled configure?arguments:?--prefix=/usr/local/nginx?--user=www?--group=www?--with-http_stub_status_module?--with-file-aio?--with-http_ssl_module
?
2)、nginx的圖形化監(jiān)控-nginx-rrd stats
?
nginx-rrd是nginx官方推薦的一款nginx監(jiān)控工具,利用nginx-rrd可以很方便的生成圖表,便于我們查看。
a、運行環(huán)境(centos):
在安裝前需要安裝好rrdtool這個畫圖工具和相應(yīng)的perl模塊,可以先運行:
yum?install?rrdtool?libhtml-parser-perl?libwww-perl?librrds-perl?librrd2-dev
確保rrdtool和相應(yīng)的perl被安裝上。
b、安裝配置
下載:
wget?http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
解壓:
tar?zxvf?nginx-rrd-0.1.4.tgz
進入nginx-rrd目錄,
cd?nginx-rrd-0.1.4/
復(fù)制主程序:
cp?usr/sbin/*?/usr/sbin
復(fù)制配置文件
cp?etc/nginx-rrd.conf?/etc
復(fù)制定時執(zhí)行文件:
cp?etc/cron.d/nginx-rrd.cron?/etc/cron.d
創(chuàng)建nginx-rrd生成目錄:
mkdir?/home/wwwroot/nginx?&&?mkdir?/home/wwwroot/nginx/rrd cp?html/index.php?/home/wwwroot/nginx
編輯/home/wwwroot/nginx/index.php修改登錄密碼
<?php header("content-type: text/html; charset=utf-8"); $password = "admin"; .........
編輯配置文件nginx-rrd.conf,修改完成后如下:
##################################################### # #?dir?where?rrd?databases?are?stored rrd_dir="/home/wwwroot/nginx-rrd/"; #?dir?where?png?images?are?presented www_dir="/home/wwwroot/nginx/"; #?process?nice?level nice_level="-19"; #?bin?dir bin_dir="/usr/sbin"; #?servers?to?test #?server_utl;server_name servers_url="http://127.0.0.1/status;127.0.0.1"
多個server,可以servers_url中空格分開,前部分為nginx_status的地址,后面為被監(jiān)控主機的域名。
severs_url 格式
注意,nginx.conf虛擬主機server{}中,需要已經(jīng)加入:
location?/status?{ stub_status?on; access_log?off; }
以上設(shè)置就完成,可以自行運行一下:/usr/sbin/nginx-collect ,啟動收集程序。cron會15分鐘生成一次數(shù)據(jù)。
如果沒有定時執(zhí)行生成數(shù)據(jù),可以在/etc/crontab最后面加上:
*?*?*?*?*?root?/usr/sbin/nginx-collect */15?*?*?*?*?root?/usr/sbin/nginx-graph
然后輸入然后訪問http://serverip/nginx/即可訪問。
6、開啟tomcat的監(jiān)控
1)、tomcat6的配置
修改tomcat/conftomcat-users.xml文件中節(jié)點之前添加如下代碼即可。
?<user></user>
然后輸入然后訪問http://serverip:8080/manager/status即可訪問。
2)tomcat7的配置
修改tomcat/conftomcat-users.xml文件中節(jié)點之前添加如下代碼即可。
<role></role><user></user>
然后輸入然后訪問http://serverip:8080/manager/status即可訪問。