Nginx入门(一)

来源:互联网 发布:淘宝网飞机杯货到付款 编辑:程序博客网 时间:2024/06/02 04:07

windows下Nginx的安装配置与使用

1.nginx的下载

nginx的官网上各版本任意下载  http://nginx.org/en/download.html

2.nginx的常用命令

启动nginx:stsrt nginx 
停止nginx:nginx -s stop  或  nginx -s quit    (stop快速停止,不会保存相关信息;quit是完整有序的退出,会保存相关信息)
重新载入nginx:nginx -s reload  (当配置信息进行修改后,需要重新载入nginx)
查看nginx版本: nginx -v
检查配置文件是否有错误:nginx -t

3.nginx的初级使用

nginx默认监听的端口号是80,命令窗口可以输入netstat -ano,查看所有被使用的端口,发现80被TCP协议占用
D:\nginx\conf   nginx文件下有conf文件,修改里面的nginx.conf文件
server {        listen       81;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html;            index  index.html index.htm;        }
将listen修改为81,就可以通过localhost:81访问nginx

下面来看看nginx.conf各属性代表的含义
server:相当于一个代理服务器,我们可以配置多个
listen:当前代理服务器监听的端口号,多个server需要配置不同的端口号
server_name:表示监听之后需要转到哪里。上面转到的是localhost,就是直接转到nginx文件夹内
localtion :表示匹配的路径,加上/表示所有的请求都会匹配到这里
root:配置root时,就表示请求匹配到这个路径时,会在本文件夹内寻找相应文件
index:当没有指定页面,默认会选择这个文件夹下的文件,可以有多个,并按顺序来查找

下面写一个Demo,将请求转发到我们的tomcat
server{listen   82;server_name   localhost:8080;location / {proxy_pass   http://localhost:8080;}}
我们写一个代理服务器,当我们访问localhost:82的时候,proxy_pass属性指的是代理服务器会将请求转移到的路径,也就是Tomcat的访问路径,修改完配置文件后输入 nginx -s reload  重新载入nginx 

以上就是nginx的一个反向代理的基本概念,nginx监听端口请求,截获后将请求转发给tomcat处理,由tomcat处理请求,处理完成后,tomcat把数据返回给nginx,nginx再把数据发送给客户端。而在实际项目中,html、css、js、img等静态文件,并不像jsp文件需要servlet容器(tomcat)来处理,所以我们可以把静态文件都交给nginx进行缓存
location ~ \.jsp$ {  proxy_pass http://localhost:8080;  }            location ~ \.(html|js|css|png|gif)$ {  root D:/apache-tomcat-7.0.8/webapps/ROOT;  } 

配置以上信息后,apache的首页可以显示,但是点击链接的时候无法显示,原因就是链接匹配的html页面不在root目录下而在docs目录下,因此链接无法显示

那么有多台服务器的时候,nginx怎么去使用它们呢?
upstream local_tomcat {  server localhost:8080 weight=1;  server localhost:8081 weight=2;server localhost:8082 weight=3;server localhost:8083 down;}    server{  location / {  proxy_pass http://local_tomcat;  }           }
首先我们定义一组自己本地的服务器,weight表示得到请求的几率,数字越大机会越大,down表示暂时不用该服务器。
配置以上信息后,就完成了基本的分流~





0 0
原创粉丝点击