czllfy 发表于 2013-1-29 07:28:47

nginx+tomcat

用nginx+tomcat来代替apache+jk+tomcat

#wget http://sysoev.ru/nginx/nginx-0.6.26.tar.gz
#tar zxvf nginx-0.6.26.tar.gz
#cd nginx-0.6.26
## ./configure
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
# rpm -qa|grep pcre
pcre-6.6-1.1
# rpm -ivh pcre-devel-6.6-1.1.i386.rpm
warning: pcre-devel-6.6-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ###########################################
   1:pcre-devel             ###########################################

# rpm -qa|grep pcre
pcre-6.6-1.1
pcre-devel-6.6-1.1

等再次执行./configure
# ./configure --with-http_stub_status_module
# make
# make install
修改配置文件 /usr/local/nginx/conf/nginx.conf
给出一些主要更改的地方
usernobody nobody;
worker_processes2;
error_loglogs/error.lognotice;
pid      logs/nginx.pid;
events {
    worker_connections1024;
}
http {
    include       mime.types;
    default_typeapplication/octet-stream;
    include    /usr/local/nginx/conf/proxy.conf;
#上面这行是增加的
    server {
      listen       81;
      server_namelocalhost;   
      charset gb2312;
# serve static files
      location ~ ^/(images|pages|javascript|js|css|flash|media|static)/{
                root    /usr/local/www;
                expires 30d;
      location / {
            root /usr/local/www;            
            indexindex.jsp index.htm;
            proxy_pass http://192.168.1.250:8080;
          }

location /NginxStatus {
                        stub_status             on;
                        access_log            on;
                        auth_basic            "NginxStatus";
                }


说明配置文件中有提到proxy.conf 这个文件可以VI一个如下文件
# cat proxy.conf
#!nginx (-)
# proxy.conf
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;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffers         32 4k;
测试配置文件
# /usr/local/nginx/sbin/nginx -t
2008/05/04 15:40:02 2363#0: the configuration file /usr/local/nginx/conf/nginx.conf syntax is

ok
2008/05/04 15:40:02 2363#0: the configuration file /usr/local/nginx/conf/nginx.conf was tested

successfully
启动
# /usr/local/nginx/sbin/nginx
# ps fax
9400 ?      Ss   0:00 nginx: master process /usr/local/nginx/sbin/nginx
9401 ?      S      0:00\_ nginx: worker process      
9402 ?      S      0:00\_ nginx: worker process   

http://192.168.1.250:81/NginxStatus
Active connections: 1
server accepts handled requests
2 2 11
Reading: 0 Writing: 1 Waiting: 0   


http://192.168.1.250:81就可以访问我的页面了用着个nignx+tomcat来替代apache+jk+tomcat
同样的可以让squid来监听80端口 这样就透明代理了
查看服务器信息
# curl -I http://localhost
HTTP/1.0 200 OK
Server: nginx/0.6.26
Date: Sun, 04 May 2008 07:18:27 GMT
Content-Type: text/html;charset=GBK
Set-Cookie: JSESSIONID=0CE2D90115EFDE9830215A55414BF11F; Path=/
X-Cache: MISS from test.suantop.com
Via: 1.0 test.abc.com (squid/3.0.STABLE2)
Connection: close
页: [1]
查看完整版本: nginx+tomcat