實驗環境:windows xp sp3
Nginx版本:1.5.12;
下載網址:http://nginx.org/en/download.html
Tomcat版本:6.0.39
下載網址:http://tomcat.apache.org/download-60.cgi
一、配置nginx
1. 在D盤根目錄建立nginx資料夾,把下載的nginx發布包nginx-1.5.12.zip解壓縮到該目錄。
2、 D:nginxnginx-1.5.12目錄結構
Nginx-
|_ conf 配置目錄
|_ contrib.
|_ docs ‧文獻目錄
|_ logs 記錄目錄
|_ temp 以暫存檔目錄
|_ html 以靜態網頁目錄
|_ nginx.exe 主程式
3、 啟動nginx
windows下啟動nginx非常簡單,雙擊執行nginx.exe即可。 Nginx預設運行在80端口,檢查nginx是否啟動我們只需要在瀏覽器中輸入http://localhost便可看到如下頁面,說明我們nginx已經啟動起來了。
1、 停止nginx
如果需要停止nginx,則需要開啟一個命令列窗口,進入nginx解壓縮的目錄,也就是進入nginx.exe檔所在的目錄,輸入指令nginx –s stop 便可停止nginx。
二、叢集配置
1、 配置tomcat
在D盤根目錄建立tomcat資料夾,解壓縮2份tomcat6.0.39發布包到該目錄下,分別命名為tomcat01,tomcat02。為了方便觀察我們造訪的是哪個tomcat,我們修改tomcat01的D:tomcattomcat01webappsROOTindex.html中
[html] view
plaincopy
-
td align="left" valign b>Apache Tomcat b>td>
改為
[html] view
plaincopy
td
align- ="left" valign b>Apache Tomcat 1 b>td>
同理我們把tomcat02的D:tomcattomcat02webappsROOTindex.html中
[html] view
plaincopy
-
td align="left" valign b>Apache Tomcat b>td>
改為
[html] view
plaincopy
td
align- ="left" valign b>Apache Tomcat 2 b>td>
2個tomcat我們在同一台電腦上,為了讓2個tomcat的連接埠不衝突,我們把tomcat02的D:tomcattomcat02confserver.xml中
[html] view
plaincopy
Server
Server
port
="8005"-
shut
改為
[html] view
plaincopy
Server
Server
port
=
"8105" -
[html] view
plaincopy
Connector port
=
"8080"
proto
connectionTimeout-
="20000" "20000"
redirectPort="8443"
改為
[html] view
plaincopy-
-
連接器 連接="8180"
連線逾時="20000"
- "20000"
重定向埠=
"8543"-
連接器
埠
=- "8009" 重定向連接埠="8443" />
改為
[html] 查看
純文字
連接器 埠
="8109"=
重定向連接埠
="8543" -
/>
[html] 查看
純文字
2、 配置nginx
nginx.conf
[html] 查看
純文字
-
#Nginx所用使用者和群組,window下不指定
-
#user niumd niumd;
-
-
#工作的子行程數(通常等於CPU數量或2倍於CPU)
-
worker_processes 2;
-
-
#錯誤日誌存放路徑
-
#error_log logs/error.log;
-
#error_log logs/error.log notice;
-
#error_log logs/error.log info;
-
-
#指定pid存放文件
-
#pid logs/nginx.pid;
-
-
-
events {
-
#使用網路IO模型linux建議epoll,FreeBSD建議採用kqueue,window下不指定。
-
#use epoll;
-
-
#允許最大連線數
-
worker_connections 1024;
-
}
-
-
-
http {
-
include mime.types;
-
default_type application/octet-stream;
-
-
#定義日誌格式
-
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
-
'$status $body_bytes_sent "$http_referer '$status $body_bytes_sent "$http_referer
-
'"$http_user_agent" "$http_x_forwarded_forfor"';
-
- access_log logs/access.log main;
-
- client_header_timeout 3m;
- client_body_timeout 3m;
- send_timeout 3m;
-
- client_header_buffer_size 1k;
- large_client_header_buffers 4 4k;
-
-
- sendfile on;
- tcp_nopush on;
- tcp_nodelay on;
-
- #keepalive_timeout 0;
- keepalive_timeout 65;
-
- #gzip on;
-
- upstream localhost {
- #根據ip計算將請求分配各那個後端tomcat,許多人誤以為可以解決session問題,其實並不能。
-
#同一機器在多網情況下,以切換,ip可能不同
-
ip_hash;
-
server localhost:8080;
-
server localhost:8180;
-
}
-
-
-
server {
-
listen 80;
-
server_name localhost;
-
-
#charset koi8-r;
-
-
#access_log logs/host.access.log main;
-
-
location / {
-
proxy_connect_timeout 3;
-
proxy_send_timeout 30;
-
proxy_read_timeout 30;
-
proxy_pass http://localhost;
-
}
-
-
#error_page 404 /404.html;
-
-
# redirect server error pages to the static page /50x.html
-
#
-
error_page 500 502 503 504 /50x.html;
-
location = /50x.html {
-
root html;
-
}
-
-
}
-
}
3、 查看反向代理設定結果
啟動nginx、tomcat01、tomcat02。
瀏覽器輸入http://localhost便看到tomcat01的管理介面,如下圖。
然後透明停止tomcat02,刷新頁面,nginx自動幫我們切換到tomcat02了,如下圖。
以上就介紹了Nginx+tomcat集群環境搭建,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。