Nginx配置与负载均衡实现

  • Post author:
  • Post category:其他



什么是Nginx?


Nginx

(engine x) 是一个高性能的

HTTP



反向代理

web服务器。特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

能够支持高达 50,000 个

并发连接数

的响应。Nginx代码完全用

C语言

从头写成,可以移植到很多操作系统:

Linux



Mac OS



Microsoft Windows

等。

Nginx配置详解与负载均衡


#概述;一共分为三大部分


############################第一部分 全局配置##########################


#user nobody;指定启动进程的用户,默认不用指定即可


#error_log logs/error.log;配置日志输出,虽然叫error_log但是可以定义输出的级别,默认不写是error级别


#error_log logs/error.log notice;


#error_log logs/error.log info;


#pid logs/nginx.pid;记录pid的文件,默认放到这个位置


# 只启动一个进程,nginx是多进程单线程模型


worker_processes 1;


############################第二部分 event配置##########################


#主要是网络连接相关的配置


events {


# 每个worker能连接1024个链接


worker_connections 1024;


# epoll; 事件驱动模型,多路IO复用


}


############################第三部分 http配置##########################


http {


include mime.types;


default_type application/octet-stream;#text/html 默认的返回类型,也可以再server.location修改


sendfile on;#开启sendfile系统调用


keepalive_timeout 65;#连接超时时间是65s


upstream peter {


#服务器资源


server 10.73.25.10:8080 weight=1


server 10.73.25.11:8080 weight=1


}


#upstream peter {


##服务器资源


#server 127.0.0.1:8080 weight=2


#server 127.0.0.1:8081 weight=1


#}


#upstream peter {


##服务器资源


#server 127.0.0.1:8080 weight=3


#server 127.0.0.1:8081 weight=1


#}


server {


listen 80;


server_name localhost;


location /demo0 {


root html;


index index.html index.htm;


proxy_pass http://peter;


}


# 下面展示多个demo,demo之间互相没有依赖,可以单独配置进行测试


################## demo1 展示location路径的不同写法优先级 ##########################


# = 最高优先级,表示路径完全等于,可以匹配demo1/a/b的请求


location /demo1/a/b {


return “/demo1/a/b”


}


# ^~ 第二高,表startWith,可以匹配demo1/abbb demo1/a/bbbb的请求


location /demo1/a {


return “/demo1/a”


}


# ~ 第三高,表示正则,注意加双引号


location “/demo1/\w{3}$” {


return “regex”


}


# 最低优先级,没有任何前置符号


location /demo1 {


return “/demo1”


}



################## demo2 展示rewrite跳转 ##########################


location /demo2 {


rewrite ^/(.*) /$1/api permanent # permanent 301, redirect 302


}


error_page 500 502 503 504 /50x.html;


location = /50x.html {


root html;


}


}


# HTTPS server


#


#server {


# listen 443 ssl;


# server_name localhost;


# ssl_certificate cert.pem;


# ssl_certificate_key cert.key;


# ssl_session_cache shared:SSL:1m;


# ssl_session_timeout 5m;


# ssl_ciphers HIGH:!aNULL:!MD5;


# ssl_prefer_server_ciphers on;


# location / {


# root html;


# index index.html index.htm;


# }


#}


}



版权声明:本文为A_captain_608原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。