Nginx+tomcat 整合的安装与配置


Nginx+tomcat 整合的安装与配置 系统:Linux4.8 (32bit) 目标:nginx 处理静态页面,tomcat 处理 jsp 页面 撰写人:hx10 时间:2010/4/26 杭州 Blog:http://hi.baidu.com/hx10 步骤: 1. 准备软件 apache-tomcat-6.0.26.tar.gz http://tomcat.apache.org/download-60.cgi jdk-6u20-linux-i586.bin http://java.sun.com/javase/downloads/index.jsp nginx-0.8.15.tar.gz http://nginx.org/en/download.html pcre-7.9.tar.gz http://sourceforge.net/projects/pcre/files/ 以上软件放到/usr/local/目录下 2. 安装 jdk #cd /usr/local/ #./jdk-6u20-linux-i586.bin 输入 yes,一直安装 配置环境变量 vi /etc/profile 按 shift+g 跳到最后,添加一下代码 JAVA_HOME="/usr/local/jdk1.6.0_20" CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" PATH=".:$PATH:$JAVA_HOME/bin " CATALINA_HOME="/usr/local/tomcat" export JAVA_HOME CATALINA_HOME # source /etc/profile 让配置生效 3.安装 tomcat # cd /usr/local # tar zxvf apache-tomcat-6.0.18.tar.gz # mv apache-tomcat-6.0.18 tomcat # mkdir –p /home/www/web # cp -rf /usr/local/tomcat/webapps/* /home/www/web/ 修改/home/www/web/为网站目录 vi /usr/local/tomcat/conf/server.conf 把 Host name="localhost"处将 appBase=的指向路径改为/home/www/web #cd /usr/local/tomcat/bin #./startup.sh 输入 http://ip:8080 看到猫的页面,说明 tomcat 安装成功。 3. 安装 nginx # cd /usr/local # tar zxvf nginx-0.7.63.tar.gz #./configure #make && make install # cd .. # tar zxvf nginx-0.7.63.tar.gz # cd nginx-0.7.63 #./configure --with-http_stub_status_module --with-http_ssl_module (启动 server 状态页和 https 模块) #make && make install 4. 修改配置文件 nginx 安装成功后的安装目录为/usr/local/nginx 在 conf 文件夹中新建 proxy.conf,用于配置一些代理参数,内容如下: #!nginx (-) # proxy.conf proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #获取真实 ip #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的 真实 ip client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; 编辑安装目录下 conf 文件夹中的 nginx.conf,输入如下内容: #运行 nginx 所在的用户名和用户组 #user www www; #启动进程数 worker_processes 8; #全局错误日志及 PID 文件 error_log /usr/local/nginx/logs/nginx_error.log crit; pid /usr/local/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; #工作模式及连接数上限 events { use epoll; worker_connections 65535; } #设定 http 服务器,利用它的反向代理功能提供负载均衡支持 http { #设定 mime 类型 include mime.types; default_type application/octet-stream; include /usr/local/nginx/conf/proxy.conf; #charset gb2312; #设定请求缓冲 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 60; tcp_nodelay on; # fastcgi_connect_timeout 300; # fastcgi_send_timeout 300; # fastcgi_read_timeout 300; # fastcgi_buffer_size 64k; # fastcgi_buffers 4 64k; # fastcgi_busy_buffers_size 128k; # fastcgi_temp_file_write_size 128k; # 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; #limit_zone crawler $binary_remote_addr 10m; ###禁止通过 ip 访问站点 server{ server_name _; return 404; } server { listen 80; server_name localhost; index index.html index.htm index.jsp;#设定访问的默认首页地址 root /home/www/web/ROOT;#设定网站的资源存放路径 #limit_conn crawler 20; location ~ .*.jsp$ #所有 jsp 的页面均交由 tomcat 处理 { index index.jsp; proxy_pass http://localhost:8080;#转向 tomcat 处理 } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过 tomcat { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } #定义访问日志的写入格式 log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径 } } 5.验证配置文件是否正确: # /usr/local/nginx/sbin/nginx –t the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully 出现这个提示说明没有问题。 6.启动 nginx,停止 nginx # /usr/local/nginx/sbin/nginx 查看 Nginx 主进程号 ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}' 显示进程号 kill -HUP 6302 //杀掉主进程 停止 nginx 的命令 # /usr/local/nginx/sbin/nginx -s stop 或者 kill -HUP `cat /usr/local/nginx/nginx.pid` nginx 启动好后启动 tomcat,此时输入 http://主机 ip 地址即可看到网站,默认 nginx 是 80, tomcat 是 8080,但是现在通过 80 可以访问静态和动态页面。 7.status 的查看 在/usr/local/naginx/conf/nginx.conf 的 server 节点下添加如下代码 location /status { stub_status on; access_log /usr/local/nginx/logs/status.log; auth_basic "NginxStatus"; } 这样输入 http://ip/status 就能查看网站的并发连接数 8.压力测试 #wget http://gisblogs.net/upload/softs/webbench-1.5.tar.gz #tar –zxvf webbench-1.5.tar.gz #cd webbench-1.5 #mkdir –p /usr/local/man/man1 #make && make install webbench -c 500 -t 30 http://www.***.com/test.jsp 参数说明:-c 表示并发数,-t 表示时间(秒) 对比观察服务器的资源消耗和 status 并发状态
还剩4页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

huzh_68

贡献于2011-09-14

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf