Nginx反向代理多个Tomcat实现负载和session共享

合集下载

nginx转发相同请求到不同服务器的方法 -回复

nginx转发相同请求到不同服务器的方法 -回复

nginx转发相同请求到不同服务器的方法-回复【nginx转发相同请求到不同服务器的方法】Nginx是一款高性能的HTTP和反向代理服务器,能够实现负载均衡、静态内容服务、缓存等功能。

本文将详细介绍如何使用Nginx将相同的请求转发到不同的服务器上。

1. Nginx安装与配置首先,我们需要在服务器上安装Nginx。

在Ubuntu系统中,可以通过以下命令进行安装:sudo apt-get updatesudo apt-get install nginx安装完成后,我们可以在/etc/nginx/目录下找到Nginx的配置文件nginx.conf。

为了方便管理,我们可以创建一个名为sites-available的子目录,并在此目录下创建一个新的配置文件,例如mywebsite.conf。

2. 配置upstream在mywebsite.conf文件中,我们可以定义一个upstream块来指定一组后端服务器。

例如:upstream backend {server backend1.example;server backend2.example;}在这个例子中,backend是一个upstream的名字,backend1.example 和backend2.example是两台后端服务器的地址。

当Nginx接收到请求时,它会根据一定的策略(如轮询、权重等)从这些服务器中选择一台来处理请求。

3. 配置server块接下来,我们需要配置一个server块来处理来自客户端的请求。

这个server块应该包含一个location块,用于匹配特定的URL路径,并将请求转发到我们之前定义的upstream。

例如:server {listen 80;location / {proxy_pass}}在这个例子中,server块监听80端口,location块匹配所有的URL路径,并将它们转发到名为backend的upstream。

Nginx反向代理Tomcat服务器

Nginx反向代理Tomcat服务器

一、Tomcat基本配置1.为Tomcat提供SysV脚本2.catalina 脚本讲解3.telnet 登录管理Tomcat4.配置Tomcat虚拟主机5.Tomcat图形管理接口6.部署JSP网站案例二、Nginx反向代理Tomcat服务器1.Nginx将请求反向代理到后端Tomcat2.Nginx将图片缓存到本地3.Nginx将请求实现动静分离注,实验环境说明,操作系统:CentOS 6.4 x86_64,软件版本:jdk-7u40、apache-tomcat-7.0.42、Nginx-1.4.2,博客中所用到的软件请到这里下载:/QGBCLwrZnpLMS。

一、Tomcat 基本配置1.为Tomcat提供SysV脚本注,在上一篇博文中我们已经演示安装了Tomcat,这里我们就不在演示,不清楚的博友可以参考这篇博文,/2033581/1299644,在上一篇博文中我们没有增加,SysV脚本,在这篇博文中我们来增加一下,下面我们就来具体演示一下。

[root@tomcat ~]# vim /etc/init.d/tomcat#!/bin/sh# Tomcat init script for Linux.## chkconfig: 2345 96 14# description: The Apache Tomcat servlet/JSP container.CATALINA_HOME=/usr/local/tomcat #注意你的脚本路径export CATALINA_HOME# export CATALINA_OPTS="-Xms128m -Xmx256m"exec $CATALINA_HOME/bin/catalina.sh $*下面我们来增加执行权限,并加入服务列表设置开机自启动,[root@tomcat ~]# chmod +x /etc/init.d/tomcat[root@tomcat ~]# chkconfig --add tomcat[root@tomcat ~]# chkconfig tomcat --listtomcat 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭下面我们来启动一下Tomcat并测试一下,[root@tomcat ~]# service tomcat startUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jar查看一下启动的端口号,[root@tomcat ~]# netstat -ntulpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Progra m nametcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1044/sshdtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1121/mastertcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 12988/sshdtcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 13053/sshdtcp 0 0 :::8080 :::* LISTEN 13088/javatcp 0 0 :::22 :::* LISTEN 1044/sshdtcp 0 0 ::1:25 :::* LISTEN 1121/mastertcp 0 0 ::1:6010 :::* LISTEN 12988/sshdtcp 0 0 ::1:6011 :::* LISTEN 13053/sshdtcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 13088/javatcp 0 0 :::8009 :::* LISTEN 13088/java用浏览器访问一下,好了,到这里Tomcat的SysV脚本增加完成,下面我们来说一下catalina脚本。

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页⾯场景Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动:Nginx的配置⽂件位置以及组成部分结构讲解:Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量:下⾯实例实现客户端浏览器请求指定⽹址,跳转到服务器Tomcat主页⾯。

所以需要参考上⾯去实现⼀些准备⼯作。

注:实现安装JDK使⽤VmWare安装Ubuntu Server 16,然后安装JDK以及环境变量参考下⾯:Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量:效果安装Tomcat下载Tomcat的tar包,⾃⾏去官⽹下载,这⾥是apache-tomcat-7.0.70.tar.gz然后使⽤Xftp或者rz命令将Tomcat的tar包上传到 /usr/local ⽬录下然后将Tomcat的tar包解压tar -xzvf apache-tomcat-7.0.70.tar.gzx代表解压 z代表gz压缩 v显⽰解压列表 f解压⽂件名字然后进⼊到解压的⽬录下的bin下的⽬录启动Tomcat./startup.sh效果打开浏览器输⼊:ip:8080反向代理实现流程客户端浏览器访问,会映射到Nginx服务器上,然后通过反向代理去请求tomcat的主页⾯。

配置域名映射ip在C:\Windows\System32\drivers\etc下的host⽂件中配置映射使⽤编辑器打开,添加ip与域名的映射保存后,使⽤浏览器访问:如果出现Tomcat的主页⾯则说明映射成功。

虽然这样能直接通过8080端⼝直接访问,但是咱的⽬的是通过Nginx反向代理访问Tomcat的主页⾯,即通过80端⼝访问⽽80端⼝⼜是默认端⼝,所以只需要域名就能访问Tomcat的主页⾯。

在Nginx进⾏反向代理的配置参考下⾯这篇⽂章,找到Nginx安装⽬录下的配置⽂件Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动:默认安装路径 /usr/local/nginx/conf/nginx.conf然后编辑配置⽂件vi nginx.conf下⾯是默认的配置⽂件内容下⾯要修改两个地⽅然后保存。

nginx代理方法

nginx代理方法

nginx代理方法
Nginx作为一个高性能的Web服务器和反向代理服务器,可以通过多种方法来进行代理。

以下是一些常见的Nginx代理方法:
1. 反向代理,Nginx可以作为反向代理服务器,将客户端的请求转发给后端的服务器。

这种代理方式可以用于负载均衡、缓存静态内容等。

配置反向代理需要在Nginx的配置文件中使用
`proxy_pass`指令来指定后端服务器的地址和端口。

2. 正向代理,Nginx也可以用作正向代理服务器,充当客户端和外部服务器之间的中间人。

这种代理方式可以用于控制对外部资源的访问、过滤内容等。

配置正向代理需要在Nginx的配置文件中使用`proxy_pass`指令来指定外部服务器的地址和端口,并可能需要配置访问控制列表等。

3. TCP代理,除了HTTP和HTTPS代理外,Nginx还可以进行TCP代理,用于代理其他TCP协议的连接,比如SMTP、POP3等。

配置TCP代理需要在Nginx的配置文件中使用`stream`模块来定义TCP代理的配置。

4. WebSocket代理,Nginx也可以代理WebSocket的连接,用于支持WebSocket协议的应用。

配置WebSocket代理需要在Nginx 的配置文件中使用`proxy_pass`指令,并且需要配置一些特殊的头部信息。

总的来说,Nginx提供了丰富的代理功能,并且可以通过灵活的配置来满足不同的代理需求。

在实际应用中,需要根据具体的场景和需求选择合适的代理方法,并进行相应的配置和调优。

希望以上信息能够帮助你更好地了解Nginx的代理方法。

linux下nginx【反向代理】配置【负载均衡】配置

linux下nginx【反向代理】配置【负载均衡】配置

linux下nginx【反向代理】配置【负载均衡】配置nginx 安装过程略过,新⼿可参考本次主要记录下nginx配置⽂件的设置过程nginx 的配置⽂件nginx.conf 可以配置多个端⼝:复制⼀个 server{ //code } 代码块修改端⼝即可如下配置⽂件中 nginx 启动后,可访问以下两个端⼝。

修改后配置⽂件后,访问 http://ip:10088 和 http://ip:10087 均可请求到nginx服务。

1、10088端⼝配置反向代理,消除跨域问题。

在 server { //code} 中添加如下代码则可以添加⼀个Tomcat 服务的反向代理。

原始访问tomcat 的路径为 http://ip:8582/ncms 在 nginx 配置⽂件中加⼊以下代码后,则可以通过 http://ip:10088/ncms 访问到 tomcat的服务。

这对于在⼀台服务器上发布多个tomcat时统⼀的地址端⼝+不同项⽬,可以完美绕开跨域问题。

location /ncms {proxy_pass http://127.0.0.1:8582;proxy_set_header Host $host:10088;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Via "nginx";client_max_body_size 50m;}2、10087端⼝配置ip_hash模式的负载均衡,ip_hash可以绕开解决session共享的问题。

⽬前许多应⽤均为多节点部署。

例如:同⼀个java Web应⽤部署了4个 Tomcat 服务,把tomcat原始访问地址+端⼝配置成如下模式, weight为权重。

以下配置模式表⽰ server 10.174.25.213:8582 weight=6 有60%的概率处理客户端请求。

在Linux虚拟机中搭建Nginx服务器以及SSL、反向代理和负载均衡的实现

在Linux虚拟机中搭建Nginx服务器以及SSL、反向代理和负载均衡的实现

在Linux虚拟机中搭建Nginx服务器以及SSL、反向代理和负载均衡的实现目录一、虚拟机下网络的网络配置 (2)1、Bridged模式 (2)2、NAT 模式 (3)3、host-only 模式: (4)4、作业环境网络拓扑图 (4)二、Nginx的安装与配置 (5)1、Nginx简介 (5)2、安装前的环境准备 (5)3、下载安装 (6)4、控制Nginx服务 (6)5、配置nginx (7)6、负载测试 (9)三、基于OpenSSL部署https网站 (9)1、OpenSSL以及SSL/TLS协议简介: (9)2、Linux下配置https (10)3、SSL/TSL协议分析 (12)四、用Nginx实现负载均衡和反向代理 (15)1、反向代理的实现 (15)2、负载均衡 (18)一、虚拟机下网络的网络配置1、Bridged模式在桥接模式下,VMware虚拟机里的系统就像是局域网中的一台独立的主机,它可以访问同一个网段内任何一台机器,即可以相互ping通。

在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。

同时,由于这个虚拟系统是局域网中的一个独立的主机系统,就可以手工配置它的IP,DNS服务器,网关等信息,以实现通过局域网的网关或通过交换机访问外网。

图1本地物理网卡和虚拟网卡通过虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位。

Vmware默认给虚拟系统提供了一个虚拟网卡(linux下默认为eth0设备),虚拟系统通过该网卡与外部通信。

图中虚拟交换机由vmware提供,其默认设备名为VMnet0。

如图1所示。

2、NAT 模式NAT 即Network Address Translation 缩写,即网络地址转换,由NAT服务完成,在vmware里默认为VMnet8虚拟交换机,它将虚拟系统的IP地址转换成宿主机的IP地址,从而借用宿主机访问其他主机。

nginx配置权重,ip_hash....

nginx配置权重,ip_hash....nginx为后端web服务器(apache,nginx,tomcat,weblogic)等做反向代理⼏台后端web服务器需要考虑⽂件共享,数据库共享,session共享问题.⽂件共享可以使⽤nfs,共享存储(fc,ip存储都⾏)+redhat GFS集群⽂件系统,rsync+inotify⽂件同步等.⼩规模的集群中使⽤更多的是nfs.对于内容管理系统,单台进⾏发布信息,向多台同步使⽤rsync+inotify就是个不错的选择。

⼩规模集群,单台⾼性能数据库(如志强双四核,32/64/128G内存)即可,⼤规模集群可能要考虑数据库集群了,可以使⽤mysql官⽅提供的集群软件,也可以使⽤keepalived+lvs读写分离做Mysql集群。

session共享问题是⼀个⼤问题,如果nginx采⽤ip_hash的轮询⽅法,每个ip在⼀定时间内会被固定的后端服务器,这样我们不⽤解决session共享问题。

反之,⼀个ip的请求被轮询分发到多台服务器上,就要解决session共享的问题,可以使⽤nfs共享session,把session写⼊mysql或者memcache等⽅法,当机器规模⽐较⼤时,⼀般使⽤把session写⼊memcache⾥⾯。

后端的web服务器如何配置我们这⾥就不讨论了,后端服务器可能是apache,nginx,tomcat,lighthttp等,前端不关⼼后端到底是什么。

⾸先新建⼀个proxy.conf⽂件,⽅便后⾯我们进⾏调⽤(配置多个集群的话,把公共参数写到⼀个⽂件,然后继续include是不错的⽅法)vi /usr/local/nginx/conf/proxy.confproxy_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_body_buffer_size 90;proxy_connect_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64我们这⾥讨论nginx的两种负载均衡⽅式轮询加权(也可以不加权,就是1:1负载)和ip_hash(同⼀ip会被分配给固定的后端服务器,解决session 问题)。

nginx转发相同请求到不同服务器的方法

nginx转发相同请求到不同服务器的方法在许多情况下,我们可能需要将相同的请求转发到不同的服务器,这可能是出于负载均衡、资源分配或其他原因。

在这种情况下,我们可以使用nginx作为反向代理服务器,通过配置来实现这个需求。

下面是一个简单的步骤指南,说明如何使用nginx将相同请求转发到不同的服务器。

一、准备工作首先,确保你已经安装了nginx,并且可以正常运行。

其次,你需要为每个目标服务器创建一个独立的nginx配置文件,或者使用一个包含多个配置文件的目录。

最后,确保你的目标服务器已经正确配置,可以接收来自nginx的请求。

二、配置nginx1.打开nginx的配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf)。

2.在主配置文件中,找到或添加一个server块,用于处理来自客户端的请求。

3.在server块中,添加一个location块,用于匹配需要被重定向的请求。

例如,你可以使用正则表达式来匹配特定的URL模式。

4.在location块中,使用proxy_pass指令指定目标服务器的地址。

你可以为每个目标服务器创建一个单独的proxy_pass指令,或者使用一个变量来代表所有的目标服务器。

5.(可选)你可以根据需要添加其他指令来控制请求的转发行为,如重定向、缓存等。

6.保存并关闭配置文件。

7.检查配置文件的语法是否正确,可以使用nginx-t命令。

8.重启nginx服务器,以使配置更改生效。

三、测试配置完成配置后,你可以通过访问客户端来测试请求的转发行为。

你应该能够看到相同的请求被转发到了不同的服务器。

注意事项:*在配置文件中的location块中,你可能需要调整正则表达式以匹配你需要转发的请求模式。

*如果需要为每个目标服务器配置不同的响应头、SSL设置或其他参数,你可能需要创建单独的目标服务器块或使用一个包含多个配置文件的目录。

反向代理的配置方法

反向代理的配置方法一、反向代理的概念与作用反向代理,顾名思义,是与正向代理相反的一种代理方式。

正向代理是代表客户端向服务器发起请求,而反向代理则是代表服务器响应客户端的请求。

反向代理的主要作用有以下几点:1.负载均衡:通过将客户端请求分发至后端多个服务器,缓解服务器压力,提高系统性能。

2.安全性:反向代理作为客户端与后端服务器之间的隔离层,可以有效防止攻击直接作用于后端服务器。

3.缓存:反向代理可以缓存后端服务器的响应,提高响应速度。

4.访问控制:通过设置反向代理的规则,可以实现对不同客户端的访问控制。

二、反向代理的配置方法1.选择合适的反向代理服务器市面上有很多优秀的反向代理服务器软件,如Nginx、Apache等。

选择适合自己需求的代理服务器,可以参考以下几点:- 性能:选择高性能的反向代理服务器,以满足高并发、高性能的需求。

- 稳定性:稳定性是反向代理服务器的关键指标,选择具有良好稳定性的服务器。

- 功能丰富:选择功能齐全的反向代理服务器,以便于后续的配置与扩展。

2.配置反向代理服务器以Nginx为例,配置过程如下:a.修改代理配置文件编辑Nginx的配置文件(如/etc/nginx/nginx.conf),设置以下参数:```http {proxy_pass http://backend_server;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}```b.设置代理规则在Nginx配置文件中,添加以下内容:```location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_pass http://backend_server;}```c.配置缓存在Nginx配置文件中,添加以下内容:```http {proxy_cache_bypass $http_upgrade;proxy_cache_bypass $http_proxy_ban;proxy_cache_bypass $https_proxy_ban;proxy_cache_valid 200 302 10m;proxy_cache_valid 404 0秒;}```3.配置客户端浏览器a.修改浏览器代理设置在客户端浏览器的设置中,切换到“代理”选项卡,开启代理功能,并设置代理服务器地址和端口。

nginx 负载均衡 原理

nginx 负载均衡原理
Nginx负载均衡是通过将传入的请求分发到多个服务器上,从
而实现请求的负载分担和性能提升的一种技术。

它基于反向代理的概念,将所有的请求都发送到Nginx服务器,然后由Nginx服务器根据一定的规则将请求转发给后端的服务器集群。

Nginx负载均衡的原理主要包括以下几个步骤:
1. 配置反向代理服务器:首先,需要在Nginx服务器上配置反向代理服务器。

这可以通过修改Nginx的配置文件实现。

配置文件中需要指定后端服务器的地址和端口号,以及负载均衡的策略(如轮询、IP哈希等)。

2. 接收请求:当一个客户端的请求到达Nginx服务器时,Nginx会根据配置的负载均衡策略选择一个后端服务器。

3. 转发请求:Nginx将请求转发给选择的后端服务器。

后端服
务器可以是一台物理服务器或者是一个服务器集群。

转发可以使用HTTP、TCP或者UDP协议,具体取决于应用需求和配置。

4. 处理响应:后端服务器接收到请求后,执行相应的操作,并生成响应数据。

然后,后端服务器将响应数据发送回Nginx服务器。

5. 返回响应:Nginx服务器接收到后端服务器的响应后,将其
返回给客户端。

客户端将认为响应来自于Nginx服务器,而不
是后端服务器。

通过将请求分发给不同的后端服务器,Nginx负载均衡可以提高整体的系统性能和可靠性。

它实现了请求的负载均衡,避免单一服务器的过载和故障对整个系统的影响。

同时,Nginx负载均衡还支持动态添加和删除后端服务器,以及健康检查等功能,以进一步提高系统的可扩展性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Nginx反向代理多个Tomcat实现负载和session共享一、准备工作:1、安装服务所需的工具,把开发库和开发工具两个包用yum安装上就行了。

# yum groupinstall "Development Libraries" "Development Tools"2、安装nginx之前还要安装pcre-devel包# yum install pcre-devel二、安装Nginx1、Nginx下载地址:这个是nginx的官方网站。

为了实现session共享还得下载nginx的扩展模块nginx-upstream-jvm-route-master,下载地址:https:///tbje/nginx-upstream-jvm-route要想实现后面Tomcat的健康检测,还得下载模块nginx_upstream_check_module-master 下载地址:https:///yaoweibin/nginx_upstream_check_module/zip/master在这里所用的软件默认下载到/usr/local/src目录中2、安装之前要给nginx添加个用户:# groupadd nginx# useradd -g nginx nginx3、安装Nignx,并加入所需的扩展模块view sourceprint?01.# cd /usr/local/src02.解压那两个扩展模块包03.# unzip nginx-upstream-jvm-route-master.zip04.# unzip nginx_upstream_check_module-master.zip05.之后再来安装nginx06.# tar zxvf nginx-1.2.5.tar.gz07.# cd nginx-1.2.508.下面对nginx加入扩展模块09.# patch -p0< ../nginx-upstream-jvm-route-master/jvm_route.patch10.# patch -p1< ../nginx_upstream_check_module-master/check1.2.2+.patch (在nginx 1.2以上的版本都要用这个patch不然后会报错的)11.# ./configure --prefix=/usr/local/nginx \12.&gt; --user=nginx --group=nginx --with-http_ssl_module \13.&gt; --with-http_flv_module--with-http_stub_status_module \14.&gt; --with-http_gzip_static_module--http-proxy-temp-path=/var/tmp/nginx/proxy/ \15.&gt; --with-pcre \16.&gt;--add-module=/usr/local/src/nginx_upstream_check_module-m aster \17.&gt;--add-module=/usr/local/src/nginx-upstream-jvm-route-mast er18.如果没有什么报错的话在结尾处会看如下所示的内容:19.configuring additional modules20.addingmodule in/usr/local/src/nginx_upstream_check_module-master21.checking for ngx_http_upstream_check_module ... found22.+ ngx_http_upstream_check_module was configured23.addingmodule in/usr/local/src/nginx-upstream-jvm-route-master24.+ ngx_http_upstream_jvm_route_module was configured25.checking for PCRE library ... found26.checking for PCRE JIT support ... not found27.checking for OpenSSL library ... found28.checking for zlib library ... found29.creating objs/Makefile30.之后就可以make和make install了31.# make32.# make install这样Nginx就安装好了,下面给nginx制作一个启动脚本view sourceprint?001.# vim /etc/init.d/nginx002.内容如下:003.#!/bin/sh004.# nginx - this script starts and stops the nginx daemon 005.# chkconfig: - 85 15006.# description: Nginx is an HTTP(S) server, HTTP(S) reverse \007.# proxy and IMAP/POP3 proxy server008.# processname: nginx009.# config: /etc/nginx/nginx.conf010.# config: /etc/sysconfig/nginx011.# pidfile: /var/run/nginx.pid012.# Source function library.013.. /etc/rc.d/init.d/functions014.# Source networking configuration.015.. /etc/sysconfig/network016.# Check that networking is up.017.[ "$NETWORKING"= "no"]&& exit0018.nginx="/usr/local/nginx/sbin/nginx"019.prog=$(basename $nginx)020.NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 021.[ -f /etc/sysconfig/nginx ]&& . /etc/sysconfig/nginx 022.lockfile=/var/lock/subsys/nginx023.make_dirs() {024.# make required directorieser=`nginx -V 2&gt;&1 | grep"configure arguments:"| sed's/[^*]*--user=\([^ ]*\).*/\1/g' -` 026.options=`$nginx -V 2&gt;&1 | grep'configure arguments:'`027.for opt in$options; do028.if[ `echo$opt | grep'.*-temp-path'` ]; then029.value=`echo$opt | cut-d "="-f 2`030.if[ ! -d "$value"]; then031.# echo "creating" $value032.mkdir-p $value && chown-R $user $value033.fi034.fi035.done036.}037.start() {038.[ -x $nginx ] || exit5039.[ -f $NGINX_CONF_FILE ] || exit6040.make_dirs041.echo-n $"Starting $prog: "042.daemon $nginx -c $NGINX_CONF_FILE043.retval=$?044.echo045.[ $retval -eq0 ]&& touch$lockfile046.return$retval047.}048.stop() {049.echo-n $"Stopping $prog: "050.killproc $prog -QUIT051.retval=$?052.echo053.[ $retval -eq0 ]&& rm-f $lockfile 054.return$retval055.}056.restart() {057.configtest || return$?058.stop059.sleep1060.start061.}062.reload() {063.configtest || return$?064.echo-n $"Reloading $prog: "065.killproc $nginx -HUP066.RETVAL=$?067.echo068.}069.force_reload() {070.restart071.}072.configtest() {073.$nginx -t -c $NGINX_CONF_FILE 074.}075.rh_status() {076.status $prog077.}078.rh_status_q() {079.rh_status &gt;/dev/null 2&gt;&1 080.}081.case"$1"in082.start)083.rh_status_q && exit0084.$1085.;;086.stop)087.rh_status_q || exit0088.$1089.;;090.restart|configtest)091.$1092.;;093.reload)094.rh_status_q || exit7095.$1096.;;097.force-reload)098.force_reload099.;;100.status)101.rh_status102.;;103.condrestart|try-restart)104.rh_status_q || exit0105.;;106.*)107.echo$"Usage: $0{start|stop|status|restart|condrestart|try-restart|reload |force-reload|configtest}"108.exit2109.esac110.111.保存后退出,并给它一个执行的权限。

相关文档
最新文档