首页 > 代码库 > nginx基础入门

nginx基础入门

nginx经常被用来处理静态资源如css、js、图片、html等,也被用作反向代理服务器、邮件服务器,也时常拿来做负载均衡。它的优势主要体现在对静态资源的处理上,这次抽出了点时间整理了一些这方面的知识和大家分享

1 nginx的下载地址

http://nginx.org/en/download.html

建议使用稳定版而不是最新版本

2 nginx的基本命令

这些命令主要用于启动、停止、重启nginx,如下所示:

启动:直接进入nginx的解压目录输入nginx,回车即可

其他:nginx  -s  相应参数

-s后面的可选参数为stop、quit、reload、reopen

下面来看看关闭nginx服务的命令

3  通过nginx访问静态资源

前面说过nginx在处理静态资源上有优势,如果有这么一种情况,需要输入http://localhost:9080/images/pubu.jpg就把图片显示出来,对于这种情况可以进行如下配置

在server节点下增加:

 location /images/ {
            root /data;
 }

这个配置的意思是如果访问路径和该规则匹配,那么返回/data/images下面的资源,来看下效果

现在浏览器里输入http://localhost:9080/images/pubu.jpg,然后回车

除了这种方式外nginx也提供了正则匹配的方式来请求静态资源,可以像下面这样配置:

location ~ \.(gif|jpg|png)$ {
    root /data/images;
}

这个配置的意思是如果访问的url请求的资源是gif、jpg、png那么返回/data/ images下面的图片文件

要注意的是这个/指的是nginx的父目录,如果父目录下没有data/images这样的路径,访问的时候会出现404


4 反向代理

反向代理使用的几率还是很大的,反向代理可以简单理解成请求的转发,来看如下配置

location / {
        proxy_pass http://localhost:8080;
}


这个配置的意思是当直接访问nginx的根目录时,请求会转发到8080这个端口上,这种就是反向代理了,使用反向代理可以让nginx和其他中间件搭配使用,这样的话如果请求的是静态资源那么就交给nginx处理,动态的东西则交由中间件如tomcat来处理


5 反向代理和资源静态化的综合运用

当项目很大的时候静态资源的载入会比较耗时,这种情况就可以把这些静态资源交给nginx来处理,如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src=http://www.mamicode.com/"../jquery-1.8.3.min.js"></script>>
这个页面要做的事情很简单,首先从nginx取出jquery的js,当页面载入的时候从nginx取出图片显示在页面上,这个需求的配置如下:

        location / {
         
           proxy_pass http://localhost;
        }
       
	
        location /images/ {
            root /data;
        }
       
        location ~ \.js$ {
            root /data/js;
        }

这样子tomcat(我的是80端口)就可以和nginx搭配使用了,效果如下:


最后把data这个目录的截图贴出来,随便看看


至于nginx的负载均衡本人不建议使用,目前nginx的负载均衡不支持session复制,如果对session这一块要求不很严格的情况下才建议使用。负载均衡用apache会更好因为它支持session复制


nginx的说明:http://nginx.org/en/docs/beginners_guide.html

nginx基础入门