原生态的nginx并没有太多的集成插件,推荐openResty,下载地址:http://openresty.org/en/download.html
OpenResty是基于Nginx和Lua的高性能web平台,内部集成精良的LUa库、第三方模块、依赖项。用于方便搭建能够处理高并发、扩展性极高的动态web应用、web服务、动态网关。
快速上手:
1.打开openResty文件夹 cmd进入命令行,启动nginx.exe
这时候我们可以打开自己的浏览器,输入localhost查看(默认是80端口)结果是这样:
启动成功。
2.nginx.conf :location 后面匹配级别
打开文件夹 conf 下的nginx.conf 去掉无用注释:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
可以看到server当中 listen端口号为80,server_name 为 localhost,这些就是默认的监听端口号以及服务器名称。
location / 指匹配所有以 "/" 开头的请求,当中的 root 指默认解析的文件夹,即我们文件夹下的 html 文件夹 ,一开始我们默认打开的网页就是
这个里面的index.html 。
下面便是location匹配的四个级别,同一级别的以匹配程度较高的算。
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
#default需要配一下,不然此处echo会一直跳下载而不是刷页面
default_type text/html;
#优先级最低
location / {
echo "ABC";
}
#优先级最高 完全匹配
location = /a {
echo "=/asunmoumou";
}
#优先级次高 以/a开头的
location ^~ /a {
echo "^~/asunmoumou";
}
#优先级次低 正则表达式
location ~ /\w {
echo "~/w";
}
}
}
另外每次更改conf文件后,都需要重启nginx,可以在文件夹路径下打开cmd ,输入 nginx -s reload ,之后再打开 url 。
反向代理
location / {
proxy_pass http://ip:port;
}
输入你想要访问的ip地址以及端口号,此时再输入localhost就是跳转此ip对应的服务。可以配合着上面的匹配级别一起用。
负载均衡
upstream group1{
server ip:port weight=1;
server ip2:port weight=1;
}
location / {
proxy_pass http://group1/;
}
就是将反向代理的ip改成一个名字,在上面配置upStream 此名字{},中间写服务器地址端口号,weight是权重,上面的就是等比例访问。就是将请求随机分配到这两个server上去。此时再调ip就是两个服务器等比例调用。