您的位置:首页 > 运维架构 > Nginx

Nginx入门(一)

2017-01-09 14:41 706 查看

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表示暂时不用该服务器。
配置以上信息后,就完成了基本的分流~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: