nginx簡介
Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發布于2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
下面是采用一臺機器nginx+雙tomcat集群負載均衡方案。當更新項目時可以停止tomcat1,在啟動,接著停止別外一個tomcat2,這樣可以不會讓客戶感覺你在停止項目更新。這是為了節約成本的情況下,有效方案。通過這方案可以演變更多tomcat集群,只是把tomcat放在不同的服務器里,把nginx配置的里的反向代理ip修改一下。后期會寫一個高可用的tomcat方案。
1.安裝jdk是64位系統
下裁jdk-6u45-linux-x64.bin
[root@tomcat135 ~]# ls
anaconda-ks.cfg????????????? install.log???????????? nginx-1.2.8.tar.gz
apache-tomcat-6.0.18.tar.gz? install.log.syslog????? pcre-7.9.tar.gz
Desktop????????????????????? jdk-6u45-linux-x64.bin
[root@tomcat135 ~]# chmod +x jdk-6u45-linux-x64.bin
[root@tomcat135 ~]# ./jdk-6u45-linux-x64.bin
[root@tomcat135 ~]# mv jdk1.6.0_45 /opt/jdk
配置jdk在環境變量中/etc/profile
[root@tomcat135 ~]# vi /etc/profile
在最后增加
JAVA_HOME=/opt/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
export LC_ALL="zh_CN.GB18030"? #解決中文亂碼問題
[root@tomcat135 ~]# source? /etc/profile
查是否配置成功
[root@tomcat135 ~]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
以上說明成功了
2.安裝與配置tomcat
下裁apache-tomcat-6.0.18.tar.gz
[root@tomcat135 ~]# tar zxvf ?apache-tomcat-6.0.18.tar.gz
?
解壓之后拷貝兩個tomcat
創建項目目錄為www
[root@tomcat135 ~]# mkdir -p /web/www
?
[root@tomcat135 ~]# cp? -r apache-tomcat-6.0.18 /opt/tomcat1
[root@tomcat135 ~]# cp? -r apache-tomcat-6.0.18 /opt/tomcat2
配置tomcat
[root@tomcat135 ~]# cd /opt/tomcat1/conf/
?
tomcat1與tomcat2的配置一樣,只有端口不一樣。
[root@tomcat135 conf]# vi server.xml
?
在<Host> </Host>之間都都要增加
<Context path="" docBase="/web/www" >
????????? <Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="-1" maxIdleSwap="-1" maxIdleBackup="-1" >
?????????????????? <Store className="org.apache.catalina.session.FileStore" directory="sessions"/>
?????????????????? </Manager>
?</Context>
?
找到<Connector port="8080" protocol="HTTP/1.1"
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />
把8080端口修改成8071
而tomcat2端口修改成8072
?
找到<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />修改成不同端口,不然會出錯
啟動tomcat1
[root@tomcat135 tomcat1]# cd /opt/tomcat1/bin/
[root@tomcat135 bin]# sh startup.sh
啟動tomcat2
[root@tomcat135 bin]# cd /opt/tomcat2/bin/
[root@tomcat135 bin]# sh startup.sh
?
查看是否啟動
[root@tomcat135 bin]# ps aux | grep tomcat
avahi???? 3813? 0.0? 0.0? 23292? 1412 ???????? Ss?? 16:58?? 0:00 avahi-daemon: running [tomcat135.local]
root??? ??4296? 6.7? 3.1 846344 65548 pts/1??? Sl?? 17:28?? 0:08 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat1/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat1/endorsed -classpath :/opt/tomcat1/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat1 -Dcatalina.home=/opt/tomcat1 -Djava.io.tmpdir=/opt/tomcat1/temp org.apache.catalina.startup.Bootstrap start
root????? 4335? 156? 2.9 917648 61604 pts/1??? Sl?? 17:30?? 0:07 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat2/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat2/endorsed -classpath :/opt/tomcat2/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat2 -Dcatalina.home=/opt/tomcat2 -Djava.io.tmpdir=/opt/tomcat2/temp org.apache.catalina.startup.Bootstrap start
root????? 4361? 0.0? 0.0? 63460?? 816 pts/1??? S+?? 17:30?? 0:00 grep tomcat
[root@tomcat135 bin]# netstat -tunlp
tcp??????? 0????? 0 :::8071???????????????????? :::*??????????????????????? LISTEN????? 4296/java??????????
tcp??????? 0????? 0 :::8072????? ???????????????:::*??????????????????????? LISTEN????? 4386/java?
?
說明以上啟動成功
4.安裝nginx
安裝nginx依賴包
yum -y install gcc gcc-c++
下載pcre-7.9.tar.gz
[root@tomcat135 ~]# tar zxvf pcre-7.9.tar.gz
[root@tomcat135 ~]# cd pcre-7.9
[root@tomcat135 pcre-7.9]# ./configure
[root@tomcat135 pcre-7.9]# make && make install
安裝nginx
下載nginx-1.2.8.tar.gz
[root@tomcat135 ~]# tar zxvf nginx-1.2.8.tar.gz
[root@tomcat135 ~]# cd nginx-1.2.8
[root@tomcat135 nginx-1.2.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
?
[root@tomcat135 nginx-1.2.8]# make && make install
配置nginx
[root@tomcat135 nginx-1.2.8]# vi /usr/local/nginx/conf/nginx.conf
?
#user? nobody;
worker_processes? 4;? #根據CPU線程來配置相關參數
?
error_log? logs/error.log;
pid??????? logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
??? worker_connections? 65535;
}
http {
??? include?????? mime.types;
??? default_type? application/octet-stream;
??? server_names_hash_bucket_size 128;?
??? client_header_buffer_size 32k;?
??? large_client_header_buffers 4 32k;
??? client_max_body_size 8m;
??? sendfile??????? on;
??? tcp_nopush???? on;
??? keepalive_timeout? 150;
??? tcp_nodelay on;
??? gzip? on;
??? gzip_min_length? 1k;
??? gzip_buffers???? 4 16k;
??? gzip_http_version 1.0;?
??? gzip_comp_level 2;??
?? gzip_types?????? text/plain application/x-javascript text/css application/xml;
?? gzip_vary on;
?? server_tokens off;
?? upstream tomcatweb {
???? server 172.19.0.135:8071;
???? server 172.19.0.135:8072;
}
server{
???????? listen 80;
???????? server_name? www.test.com;?
???????? location / {?
?????????????????? root?? html;???????
?????????????????? index? index.html index.htm;
?????????????????? proxy_redirect off;??????
?????????????????? 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://tomcatweb;
???????? }
???????? error_page?? 500 502 503 504? /50x.html;?????
???????? location = /50x.html {???
???????? root?? html;??????
???????? }??
?? }
}
?
啟動nginx
[root@tomcat135 nginx-1.2.8]# /usr/local/nginx/sbin/nginx
?
[root@tomcat135 nginx-1.2.8]# netstat -tunlp
tcp??????? 0????? 0 0.0.0.0:80????????????????? 0.0.0.0:*?????????????????? LISTEN????? 10527/nginx
說明啟動成功
?
測試是否成功
在IE瀏覽器訪問http://172.19.0.135/
在/web/www/下增加
[root@tomcat135 www]# cat index.html
11111111111111111111111111成功
?
?
如果能訪問到11111111111111111111111111成功
一切安裝好了,你可以把項目上傳到/web/www下
?
?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态