nginx在linux下的配置部署

Nginx是一个高性能的HTTP和方向代理服务器,其特点是占有内存少,并发能力强,能够支持高达50000个并发连接响应。

 

Nginx配置文件conf/nginx.conf

系统配置:server,可以配置多个server

转发规则:location路径、root目录、index欢迎页面

反向代理规则:location拦截路径、proxy_pass转向地址、index

 

ginx启动停止

启动:start nginx.exe(不能双击,双击后进程无法关掉)

停止:nginx.exe –s stop

重新加载:nginx.exe –s reload

验证安装是否成功:nginx.exe –t

 

Linux下部署Nginx

yum安装

yum install nginx#yum安装nginx,方便它的依赖包自动安装

whereis nginx#查看安装后的各目录

启动停止重启

nginx#直接执行,配置文件 /etc/nginx/nginx.conf

nginx -s stop#停止

nginx -s reload#更新

测试

nginx –t#测试nginx是否正常

执行结果:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

ps -ef |grep nginx

 

 

请求转发(注意配置的具体含义根据需求配置就行)

当用户访问http://localhost:80,nginx将这个请求什么也不做,只负责转发到tomcat的访问地址http://localhost:8080

server {

listen       80;

server_name  localhost;

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-Server $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location / {#拦截所有的资源

proxy_pass   http://127.0.0.1:8080;#转向tomcat的地址

 proxy_connect_timeout 600;

      proxy_read_timeout 600;

}

 

}

 

 

 

动静分离(指向一个目录)

静态资源:图片、css、js、html(静态资源处理时并发非常高)

动态资源:asp/aspx、php、jsp

 

nginx默认配置

location / {

root   html;  #相对路径,配置了一个html目录,我们可以将网站所用到的所有的静态资源从war中移除,放到这个目录下。

index  index.html index.htm;#配置的欢迎页面

}

图片服务器(指向一个目录)

server {

listen       80;

server_name  image.test.com;#域名地址,修改hosts文件做一个配置 image.jt.com 127.0.0.1 

 

location / {

       root /user/local/image;#图片文件所在目录,按日期来分目录:yyyy/mm/dd/uuid.jpg或者当前时间的毫秒数+随机值.jpg

}

}

 

负载均衡

防止单点故障

nginx转发请求到tomcat,如果某个tomcat宕机,tomcat会进行超时判断,如果某个tomcat宕机,访问不了。它会自动把这个请求转发给其它的tomcat。保证不会因为一个tomcat宕机导致业务无法继续访问。

 

 

 

轮询

默认配置,tomcats有n个,请求就被平均分配到这n个服务器上。请求次数%n,平均分配到每个服务器。

server {

listen       80;

server_name  www.test.com;

 

location / {#拦截所有的资源

proxy_pass   http://testservice;#引用定义的upstream

}

 

}

 

#配置一个upstream,声明一个名称testservice配置多个ip地址转向,默认就是轮询。

upstream testservice{

server 127.0.0.1:8080;

server 127.0.0.1:8090;

server 127.0.0.1:8100; 

}

轮询方式存在问题:服务器有性能比较好的,有性能比较差的。新的服务器的配置比旧的服务器强悍很多。CPU核也多,内存也大,硬盘容量也大,速度还快。

如果还使用轮询的方式,就会造成新服务器资源的浪费,旧的服务器资源压力大。显然资源分配不合理,应该多劳多得。

 

 

权重

#前台,有3个tomcat集群,用户访问时轮询转向到某一个tomcat

server {

listen       80;

server_name  www.test.com;

 

location / {#拦截所有的资源

proxy_pass   http://testservice;#引用下面定义的upstream

}

 

}

 

#配置一个upstream,声明一个名称testservice,配置多个ip地址转向,默认就是轮询

upstream testservice {

server 127.0.0.1:8080 weight=8;#访问请求分成9份,这个tomcat负责8份的链接

server 127.0.0.1:8090 weight=1;#访问请求分成9份,这个tomcat负责1份的链接

server 127.0.0.1:8100 down;#这个tomcat暂时不参加负载

}

 

哈希ip_hash

upstream testservice{

ip_hash;

server 127.0.0.1:8080;

server 127.0.0.1:8090;

server 127.0.0.1:8100; 

}

 

url_hash 根据url进行hash算法/fair其原理是根据后端服务器的响应时间判断负载情况,从中选出负载最轻的机器进行分流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值