搭建nginx对公司的tomcat服务器做反向代理

一、安装开发组件
            yum -y groupinstall "Development Tools" "Server Platform Development" --省事安装
            yum -y install pcre-devel  --不安装此包,安装过程中会报错缺少pcre
二、添加运行nginx程序的用户及组
            groupadd -r nginx
            useradd -r -g nginx nginx
三、编译和安装nginx
            ./configure \

--prefix=/usr/local/nginx \ --指定安装位置

--conf-path=/etc/nginx/nginx.conf \ --配置文件位置

--error-log-path=/var/log/nginx/error.log \ --错误日志存放位置

--http-log-path=/var/log/nginx/access.log \ --http访问日志位置

--pid-path=/var/run/nginx/nginx.pid \ --nginx的pid文件存放位置

--lock-path=/var/lock/nginx.lock \ --文件锁定,防止误操作

--user=nginx \ --nginx运行的非特权用户

--group=nginx \ --nginx运行的非特权用户组

--with-http_ssl_module \ --支持https

--with-http_stub_status_module \ --支持nginx状态查询

--http-client-body-temp-path=/var/tmp/nginx/client/ \ --http客户端请求临时文件路径

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \ --http代理临时文件路径

--with-pcre --支持rewrite重写
            
            make && make install
四、创建nginx所需的临时文件目录

mkdir /var/tmp/nginx
五、nginx启动关闭命令

/usr/local/nginx/sbin/nginx -t    测试正常
            /usr/local/nginx/sbin/nginx 启动nginx
            killall nginx 关闭nginx
六、创建nginx自启动
       vi /etc/rc.d/init.d/nginx

#!/bin/bash
# nginx     This shell script takes care of starting and stopping
#           nginx
#
# chkconfig: - 13 68
# description: nginx is a web server
### BEGIN INIT INFO
# Provides: $named
# Short-Description: start|stop|status|restart|configtest
### END INIT INFO
#variables
NGINX_BIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/etc/nginx/nginx.conf"
NGINX_PID="/var/run/nginx/nginx.pid"
NETSTAT="/bin/netstat"
alter=$1
prog=nginx
#load system function
. /etc/rc.d/init.d/functions
#function:echo ok or error
function if_no {
if [ $2 == 0 ]; then
echo -n $"$1 ${prog}:" && success && echo
else
echo -n $"$1 ${prog}:" && failure && echo
fi
}
#start nginx
function start {
if [ -s ${NGINX_PID} ]; then
echo "nginx already running"
else
if [ `${NETSTAT} -tnpl | grep nginx | wc -l` -eq 0 ]; then
rm -f ${NGINX_PID} 2>/dev/null
${NGINX_BIN} -c ${NGINX_CONF}
if_no start $?
        else
${NETSTAT} -tnpl | grep nginx | awk ‘{ print $7}‘ | cut -d ‘/‘ -f 1 > ${NGINX_PID}
if_no start $?
fi
fi
}
#stp nginx
function stop {
if [ -s ${NGINX_PID} ]; then
cat ${NGINX_PID} | xargs kill -QUIT
if_no stop $?
else
        if [ `${NETSTAT} -tnpl | grep nginx | wc -l` -eq 0 ]; then
rm -f ${NGINX_PID} 2>/dev/null
if_no stop 0
else
rm -f ${NGINX_PID} 2>/dev/null
kill `${NETSTAT} -tnpl | grep nginx | awk ‘{ print $7}‘ | cut -d ‘/‘ -f 1`
if_no stop $?
fi
fi
}
function restart {
if [ -s ${NGINX_PID} ]; then
cat ${NGINX_PID} | xargs kill -HUP
if_no restart $?
else
stop
sleep 1
start
fi
}
function status {
${NETSTAT} -tnpl | grep nginx | grep LISTEN
[ $? == 0 ] && echo "nginx is running" || echo "nginx is not running"
}
function configtest {
${NGINX_BIN} -t
}
case $alter in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
configtest)
configtest
;;
*)
echo "use:${NGINX} {start|stop|restart|status|configtest}"
;;
esac

chkconfig --add nginx

chkconfig nginx on

七、配置nginx文件支持vim编辑
        mkdir .vim/syntax -pv
        拷贝nginx.vim文件到.vim/syntax/目录中
        vi .vim/filetype.vim

au BufRead,BufNewFile /etc/nginx/* if &ft ==‘‘ | setfiletype nginx | endif

八、配置nginx.conf
        rm -rf /etc/nginx/nginx.conf
        vi /etc/nginx/nginx.conf

user  nginx;
worker_processes  10;
worker_rlimit_nofile 10000;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
events {    
    worker_connections  4096;
}
http {    
    include       mime.types;
    default_type  application/octet-stream;  
    sendfile        on;   
    keepalive_timeout  65;    
    server {        
        listen       80;        
        server_name  localhost;
        index index.html index.htm index.jsp;
        root /usr/local/tomcat7/webapps/ROOT;
        location / {            
            index  index.jsp;
            proxy_pass 
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {            
            root   html;        
        }    
    }
}

访问正常

时间: 2024-12-06 20:06:44

搭建nginx对公司的tomcat服务器做反向代理的相关文章

【搭建nginx对公司的tomcat服务器做反向代理】

一.安装开发组件 yum -y groupinstall "Development Tools" "Server Platform Development" --省事安装 yum -y install pcre-devel  --不安装此包,安装过程中会报错缺少pcre 二.添加运行nginx程序的用户及组 groupadd -r nginx useradd -r -g nginx nginx 三.编译和安装nginx 阅读全文 更多java,java学习,java

Squid做反向代理缓存

环境介绍: 主机名 角色 IP地址 squid.contoso.com squid代理服务器 192.168.49.135 image01.contoso.com 图片服务器(web) 192.168.49.139 一.准备工作 以其中一台为例: [[email protected] etc]# iptables -L Chain INPUT (policy ACCEPT) target     prot opt source               destination Chain FO

nginx做反向代理+apache

先上个规划图,自己随便画的,大家也随便看看 192.168.1.119为nginx做反向代理并处理静态页面,apache处理动态页面,nfs共享网站家目录,svn代码管理. 192.168.101为apache处理动态页面,挂载192.168.1.119的共享目录. 192.168.1.96为mysql数据库,允许两台web服务的连接权限. 系统使用centos6.5 一,配置192.168.1.119 1.首先在192.168.1.119上安装nginx+apache+php+nfs+svn

生产环境中nginx既做web服务又做反向代理

一.写对于初入博客园的感想 众所周知,nginx是一个高性能的HTTP和反向代理服务器,在以前工作中要么实现http要么做反向代理或者负载均衡.尚未在同一台nginx或者集群上同时既实现HTTP又实现反向代理. 那么到底nginx能否既实现HTTP又实现反向代理呢? 答案是肯定的 刚好前段时间在实际项目中有一个类似的情况出现,由此与大伙分享,由于以前没有写博文的习惯,只习惯于自己记录操作实现步骤及稳定,在以前常遇见问题都是百度.谷歌,众位网友的博文帮助自己见解决了很多问题. 由此可见技术分享的重

Nginx服务器 之反向代理与负载均衡

一.反向代理 正向代理: 客户端要获取的资源就在服务器上,客户端请求的资源路径就是最终响应资源的服务器路径,这就是正向代理.正向代理的特点:就是我们明确知道要访问哪个网站地址. 反向代理: 客户端想获取服务器集群中(服务1,服务2,服务3 他们的资源相同)中的资源,但是客户端无法与该服务器集群建立连接,但我们可以与另一台服务器(代理服务器)建立连接且该服务器能获取服务器集群中的资源.这个时候客户端就可以通过请求代理服务器,获取想要的资源,但客户端并不知道给他资源的是哪个服务器.这种方式就是反向代

【Nginx】使用Nginx做反向代理时,关于被代理服务器相应的超时设置

阅读目录 > 参考的优秀文章 > 设置等待被代理服务器的最大响应时间 > 参考的优秀文章 Module ngx_http_proxy_module > 设置等待被代理服务器的最大响应时间 使用Nginx做反向代理时,因被代理服务器因业务确实复杂,需时较久,往往超过60秒.而Nginx默认设置超时时间为60秒. 针对这一情况,需修改默认配置.因配置项中涉及超时的选项太多,这里记录一下. 等待被代理服务器的最大响应时间为120秒,需加如下配置: proxy_read_timeout 1

CentOS 7 安装Nginx做反向代理

题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装nginx使用的是具有网络的yum功能 (3)配置centos防火墙,须要开启80 port (4)nginx 反向代理配置 (5)性能优化设置(兴许工作...) 实现 一. yum安装nginx 先加入nginx源,測试使用最新的nginx 1.8.0 rpm -ivh http://nginx.

【转】Nginx服务器的反向代理proxy_pass配置方法讲解

[转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { proxy_pass http://127.0.0.1:8008; } Apache2的反向代理的配置是: ProxyPass /ysz/ http://

Nginx做反向代理总是被系统kill

公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux OOM Killer了,这篇文章感觉有点关系:理解和配置 Linux 下的 OOM Killer.也给出了相应的解决办法. 但我还是不太放心,万一最后还是被kill了怎么办,想来想去,最后还是决定写一个脚本来进行监控. 脚本功能: 每隔5秒检查一次,查看Nginx进程是否存在,如果不存在,就重新启动