1、准备软件(存放在目录/home/sofeware下)
agentzh-headers-more-nginx-module-v0.15rc2-0-g2c629de.tar.gz #支持隐藏头部信息 (不是必须,觉得需要就安装吧)
nginx-upstream-jvm-route-0.1.tar.gz #nginx会话记录的必须模块 (用于tomcat集群,单tomcat就直接忽略相关操作)
pcre-8.10.tar.gz #包括 perl 兼容的正规表达式库 (shell> rpm -qa|grep pcre 可以检查系统是否已存在 )
nginx-1.0.4.tar.gz
apache-tomcat-7.0.11.tar.gz (安装相对简单、资料也比较多,这里不演示了)
2、 编译安装
shell > cd / home / sofeware
shell > tar zxf pcre - 8.10 .tar.gz && cd pcre - 8.10
shell > . / configure && make && make installshell>cd ..
shell > tar zxf agentzh - headers - more - nginx - module - v0.15rc2 - 0 - g2c629de.tar.gz
shell > tar zxf nginx - upstream - jvm - route - 0.1 .tar.gz
shell > tar zxf nginx - 1.0 . 4 .tar.gz
shell > cd nginx - 1.0 . 4
shell > patch - p0 < /home/sofeware / nginx_upstream_jvm_route / jvm_route.patch
shell > . / configure -- prefix =/ usr / local / nginx -- with - http_stub_status_module -- with - http_ssl_module
-- add - module =/ home / sofeware / nginx_upstream_jvm_route /
-- add - module =/ home / sofeware / agentzh - headers - more - nginx - module - 2c629de /
&& make && make install
3、配置 (默认80端口)
配置文件:/usr/local/nginx/conf/nginx.conf
// 运行nginx所在的用户名和用户组
user nginx nginx;
worker_processes 1 ;
// 全局错误日志及PID文件
error_log / usr / local / nginx / logs / error.log;
pid / usr / local / nginx / nginx.pid;
events {
worker_connections 1024 ;
}
http {
include mime.types;
default_type application / octet - stream;
// 全局访问日志
access_log / usr / local / nginx / logs / access.log;
sendfile on;
keepalive_timeout 65 ;
server {
listen 80 ;
server_name localhost;root / var / www / test; //网站根目录
#charset koi8 - r;
access_log / usr / local / nginx / logs / host.access.log;
location / {
// 将index.jsp 加入到默认的访问首页地址
index index.html index.htm index.jsp;
}
// 所有jsp的页面均交由tomcat处理
location ~ . * .jsp$ {
index index.jsp;
proxy_pass http: // localhost:8080;
}
// 设定访问静态文件直接读取不经过tomcat
location ~ . * \.(gif | jpg | jpeg | png | bmp | swf)$ {
expires 30d;
}
location ~ . * \.(js | css) ? $ {
expires 1h;
}
error_page 500 502 503 504 / 50x.html;
location = / 50x.html {
root html;
}
}
4、测试配置
shell >/ 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
5、启动、、重启、停止
shell >/ usr / local / nginx / sbin / nginx // 启动shell>/user/local/nginx/sbin/nginx -s reload //重启shell > / usr / local / nginx / sbin / nginx - s stop // 停止
6、添加新模块(非覆盖安装)
NginxHttpRealIpModule //有些网站使用这样的方式来搭建分布式缓存,若干台Squid放在前面提供缓存服务,内容从后面的 Nginx获取。不过如此一来,Nginx日志里看到的IP就是Squid的IP了,为了能让Nginx透明获取IP,可以使用 NginxHttpRealIpModule
ngx_cache_purge-1.3.tar.gz //通过该模块使得Nginx可以像squid使用PURGE指令手动清除指定URL的缓存页面
shell >/ usr / local / nginx / sbin / nginx - s stop // 关闭nginx服务
shell > tar zxf ngx_cache_purge - 1.3 .tar.gz
shell > cd ..
shell > tar zxf nginx - 1.0 . 4 .tar.gz
shell > cd nginx - 1.0 . 4
shell > patch - p0 < / home / sofeware / nginx_upstream_jvm_route / jvm_route.patch
shell > . / configure -- prefix =/ usr / local / nginx -- with - http_stub_status_module -- with - http_ssl_module
-- with - http_realip_module // 新增模块
-- add - module =/ home / sofeware / nginx_upstream_jvm_route /
-- add - module =/ home / sofeware / agentzh - headers - more - nginx - module - 2c629de /
-- add - module =/ home / sofeware / ngx_cache_purge - 1.3 / // 新增模块
shell > make // 编译即可,无需make install
shell > mv / usr / local / nginx / sbin / nginx / usr / local / nginx / sbin / nginx.bak // 备份执行文件
shell > cp - r objs / nginx / usr / local / nginx / sbin /
shell >/ usr / local / nginx / sbin / nginx - t // 测试是否通过
shell > rm - rf / usr / local / nginx / nginx.pid // 删除PID,具体文件路径按自己的配置的实际情况
shell >/ usr / local / nginx / sbin / nginx // 重启
shell >/ usr / local / nginx / sbin / nginx - V // 查看编译参数