linux下Nginx+tomcat整合的安装与配置

linux下Nginx+tomcat整合的安装与配置

目的:搭建Nginx与tomcat整合,用Nginx代替apache
步骤:
一、安装Tomcat和JDK

 1、上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local
2、执行如下命令安装tomcat:
1. #cd /usr/local
2. #tar zxvf apache-tomcat-6.0.18.tar.gz
解压完成后将apache-tomcat-6.0.18重命名为tomcat
3、执行如下命令安装JDK:
1. #./jdk-6u12-linux-i586.bin
4、配置环境变量:
编辑/etc下的profile文件,加上如下内容:
1. JAVA_HOME="/usr/local/jdk1.6.0_12"
2. CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
3. PATH=".:$PATH:$JAVA_HOME/bin "
4.  
5. CATALINA_HOME="/usr/local/tomcat"
6. export JAVA_HOME CATALINA_HOME
5、启动tomcat并输入 http://localhost:8080,如果看到猫的页面即tomcat和jdk安装成功
6、新建文件目录/home/www为网站存放目录,设置server.xml文件,在Host name="localhost"处将appBase=的指向路径改为/home/www/web
7、创建index.jsp至/home/www/web/ROOT,内容为:“My web!”  

 

二、安装Nginx
1、上传nginx-0.7.63.tar.gz至/usr/local

2、执行如下命令解压nginx:
1. #cd /usr/local
2. #tar zxvf  nginx-0.7.63.tar.gz
3、编译安装nginx
1. #cd nginx-0.7.63
2. #./configure --with-http_stub_status_module --with-http_ssl_module  #启动server状态页和https模块
执行完后会提示一个错误,说缺少PCRE library 这个是HTTP Rewrite 模块,也即是url静态化的包
可上传pcre-7.9.tar.gz,输入如下命令安装:
1. #tar zxvf pcre-7.9.tar.gz
2. #cd pcre-7.9
3. #./configure
4. #make
5. #make install
安装pcre成功后,继续安装nginx
1. #cd nginx-0.7.63
2. #./configure
3. #make
4. #make install
4、nginx安装成功后的安装目录为/usr/local/nginx
在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:
01. #!nginx (-)
02. # proxy.conf
03. proxy_redirect          off;
04. proxy_set_header        Host $host;
05. proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
06. #proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
07. client_max_body_size    10m;
08. client_body_buffer_size 128k;
09. proxy_connect_timeout   90;
10. proxy_send_timeout      90;
11. proxy_read_timeout      90;
12. proxy_buffer_size       4k;
13. proxy_buffers           4 32k;
14. proxy_busy_buffers_size 64k;
15. proxy_temp_file_write_size 64k;
编辑安装目录下conf文件夹中的nginx.conf,输入如下内容
001. #运行nginx所在的用户名和用户组
002. #user  www www;
003.  
004. #启动进程数
005. worker_processes 8;
006. #全局错误日志及PID文件
007. error_log  /usr/local/nginx/logs/nginx_error.log  crit;
008.  
009. pid        /usr/local/nginx/nginx.pid;
010.  
011. #Specifies the value for maximum file descriptors that can be opened by this process.
012.  
013. worker_rlimit_nofile 65535;
014. #工作模式及连接数上限
015. events
016. {
017. use epoll;
018. worker_connections 65535;
019. }
020. #设定http服务器,利用它的反向代理功能提供负载均衡支持
021. http
022. {
023. #设定mime类型
024. include       mime.types;
025. default_type  application/octet-stream;
026. include /usr/local/nginx/conf/proxy.conf;
027. #charset  gb2312;
028. #设定请求缓冲   
029. server_names_hash_bucket_size 128;
030. client_header_buffer_size 32k;
031. large_client_header_buffers 4 32k;
032. client_max_body_size 8m;
033.  
034. sendfile on;
035. tcp_nopush     on;
036.  
037. keepalive_timeout 60;
038.  
039. tcp_nodelay on;
040.  
041. #  fastcgi_connect_timeout 300;
042. #  fastcgi_send_timeout 300;
043. #  fastcgi_read_timeout 300;
044. #  fastcgi_buffer_size 64k;
045. #  fastcgi_buffers 4 64k;
046. #  fastcgi_busy_buffers_size 128k;
047. #  fastcgi_temp_file_write_size 128k;
048.  
049. #  gzip on;
050. #  gzip_min_length  1k;
051. #  gzip_buffers     4 16k;
052. #  gzip_http_version 1.0;
053. #  gzip_comp_level 2;
054. #  gzip_types       text/plain application/x-javascript text/css application/xml;
055. #  gzip_vary on;
056.  
057. #limit_zone  crawler  $binary_remote_addr  10m;
058. ###禁止通过ip访问站点
059. server{
060. server_name _;
061. return 404;
062. }
063.  
064.  
065. server
066. {
067. listen       80;
068. server_name  localhost;
069. index index.html index.htm index.jsp;#设定访问的默认首页地址
070. root  /home/www/web/ROOT;#设定网站的资源存放路径
071.  
072. #limit_conn   crawler  20;   
073.  
074. location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理
075. {
076. index index.jsp;
077. proxy_pass http://localhost:8080;#转向tomcat处理
078. }
079.  
080.  
081. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat
082. {
083. expires      30d;
084. }
085.  
086. location ~ .*\.(js|css)?$
087. {
088. expires      1h;
089. }   
090.  
091. #定义访问日志的写入格式
092. log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
093. '$status $body_bytes_sent "$http_referer" '
094. '"$http_user_agent" $http_x_forwarded_for';
095. access_log  /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径
096.  
097. }
098.  
099.  
100.  
101.  
102. }
5、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
1. #/usr/local/nginx/sbin/nginx -t
如果屏幕显示以下两行信息,说明配置文件正确:
1. the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2.   the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
如果提示unknown host,则可在服务器上执行:ping www.baidu.com如果也是同样提示unknown host则有两种可能:
    a、服务器没有设置DNS服务器地址,查看/etc/resolv.conf下是否设置,若无则加上
    b、防火墙拦截

 6、启动nginx的命令
1. #/usr/local/nginx/sbin/nginx
这时,输入以下命令查看Nginx主进程号:
1. ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
7、停止nginx的命令
1. #/usr/local/nginx/sbin/nginx -s stop
8、在不停止Nginx服务的情况下平滑变更Nginx配置
a、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
1. /usr/local/nginx/sbin/nginx -t
  如果屏幕显示以下两行信息,说明配置文件正确:
1. the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2. the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
b、这时,输入以下命令查看Nginx主进程号:
1. ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
屏幕显示的即为Nginx主进程号,例如:
  6302
  这时,执行以下命令即可使修改过的Nginx配置文件生效:
1. kill -HUP 6302
  

或者无需这么麻烦,找到Nginx的Pid文件:
1. kill -HUP `cat /usr/local/nginx/nginx.pid`  
9、nginx启动好后启动tomcat,此时输入http://主机ip地址即可看到“My web!”

 

三、其他
stub_status
语法: stub_status on

默认值: None

作用域: location

创建一个 location 区域启用 stub_status

"stub status" 模块返回的状态信息跟 mathopd's 的状态信息很相似. 返回的状态信息如下:
1. Active connections: 291
2. server accepts handled requests
3. 16630948 16630948 31070465
4. Reading: 6 Writing: 179 Waiting: 106

active connections -- 对后端发起的活动连接数

server accepts handled requests -- nginx 总共处理了 16630948 个连接, 成功创建 16630948 次握手 (证明中间没有失败的), 总共处理了 31070465 个请求 (平均每次握手处理了 1.8个数据请求)

reading -- nginx 读取到客户端的Header信息数

writing -- nginx 返回给客户端的Header信息数

waiting -- 开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是Nginx说已经处理完正在等候下一次请求指令的驻留连接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
张宴《实战Nginx:取代Apache的高性能Web服务器》pdf电子版下载,此资料网友共享,请购买作者正版书籍. 目录介绍: 第1部分 基础篇 第1章 Nginx简介 1.1 常用的Web服务器简介 1.2 Nginx简介 1.3 选择Nginx的理由 1.4 Nginx与Apache、Lighttpd的综合对比 第2章 Nginx服务器安装与配置 2.1 安装Nginx服务器所需要的系统资源 2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、停止、平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进 阶 篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 Nginx的虚拟主机配置 3.3 Nginx的日志文件配置与切割 3.4 Nginx的压缩输出配置 .3.5 Nginx的自动列目录配置 3.6 Nginx的浏览器本地缓存设置 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 4.1 获取相关开源程序 4.2 安装PHP 5.2.10(FastCGI模式) 4.3 安装Nginx 0.8.15 4.4 配置开机自动启动Nginx + PHP 4.5 优化Linux内核参数 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置 4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 5.1 Nginx与JSP(Tomcat)在Linux上的安装、配置 5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置 5.3 Nginx与Perl(FastCGI)在Linux上的安装、配置 第6章 Nginx HTTP负载均衡和反向代理的配置与优化 6.1 什么是负载均衡和反向代理 6.2 常见的Web负载均衡方法 6.3 Nginx负载均衡与反向代理的配置实例 6.4 Nginx负载均衡的HTTP Upstream 模块 6.5 Nginx负载均衡服务器的双机高可用 第7章 Nginx的Rewrite规则编写实例 7.1 什么是Nginx的Rewrite规则 7.2 Nginx Rewrite规则相关指令 7.3 PCRE正则表达式语法 7.4 Nginx的Rewrite规则编写实例 7.5 Nginx与Apache的Rewrite规则实例对比 第8章 Nginx模块开发 8.1 Nginx模块概述 8.2 Nginx模块编写实践 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存? 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCache网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名网站中的应用案例 10.1 Nginx反向代理与负载均衡类网站应用案例 10.2 Nginx+PHP类网站应用案例 第11章 Nginx的非典型应用实例 11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 11.2 采用Nginx搭建FLV视频服务器 11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 11.4 采用Nginx搭建正向代理服务器 第4部分 模块篇 第12章 Nginx的核心模块 12.1 主模块指令 12.2 主模块变量 12.3 事件模块指令 第13章 Nginx的标准HTTP模块 13.1 HTTP的核心模块 13.2 HTTP Upstream模块 13.3 Http Access 模块 13.4 HTTP Auth Basic 模块 13.5 Http Autoindex 模块 13.6 Http Browser 模块 13.7 Http Charset 模块 13.8 Http Empty Gif模块 13.9 Http Fcgi 模块 13.10 geo 模块 13.11 Gzip 模块 13.12 Http Headers模块 13.13 Http Index模块 13.14 HTTP Referer模块 13.15 Http Limit Zone模块 13.16 Http Limit Req模块 13.17 Http Log模块 13.18 Http Map模块 13.19 Http Memcached模块 13.20 Http Proxy模块 第14章 Nginx的其他HTTP模块 14.1 Http Addition模块 14.2 Embedded Perl模块 14.3 Flv Stream模块 14.3 flv 指令 14.4 Http Gzip Sta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值