nginx
Posted lamsey16
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx相关的知识,希望对你有一定的参考价值。
Nginx常用功能
1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
正向代理是电脑通过代理服务器后接入互联网进行相应的web服务访问。
反向代理是接收到网络的请求后,nginx会利用响应的规则进行匹配,匹配后转发给部署的服务进行处理。
nginx.conf文件,Nginx服务器的基础配置,默认的配置也存放在此。
nginx文件结构
... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全局块 location [PATTERN] #location块 { ... } location [PATTERN] { ... } } server { ... } ... #http全局块 }
#1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
#user nobody;
worker_processes 1;
#2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
events {
worker_connections 1024;#每个进程最大连接数1024
}
#3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;#连接超时时间
#4、server块:配置虚拟主机的相关参数,一个http中可以有多个server
server {
listen 80;
server_name localhost;
#5、location块:配置请求的路由,以及各种页面的处理情况
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2. 负载均衡
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082;
}
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
下面的是结合了反向代理和负载均衡的配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main \'$remote_addr - $remote_user [$time_local] "$request" \' # \'$status $body_bytes_sent "$http_referer" \' # \'"$http_user_agent" "$http_x_forwarded_for"\'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; upstream manager.e3mall.cn { server 192.168.25.137:8080; } upstream www.e3mall.cn { server 192.168.25.137:8081; } upstream search.e3mall.cn { server 192.168.25.137:8082; } upstream item.e3mall.cn { server 192.168.25.138:8080; } upstream sso.e3mall.cn { server 192.168.25.138:8081; } upstream cart.e3mall.cn { server 192.168.25.139:8080; } upstream order.e3mall.cn { server 192.168.25.139:8081; } server { listen 80; server_name manager.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://manager.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name www.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://www.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name search.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://search.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name item.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://item.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name sso.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://sso.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name cart.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://cart.e3mall.cn; index index.html index.htm; } } server { listen 80; server_name order.e3mall.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://order.e3mall.cn; index index.html index.htm; } } }
nginx可以作为反向代理和负载均衡使用,负载均衡需要配置upstream
upstream name{
ip weight
}
以上是关于nginx的主要内容,如果未能解决你的问题,请参考以下文章