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="../jquery-1.8.3.min.js"></script>
<script type="text/javascript">
 $(document).ready(function(){
	  $("#img").html("<img  src=\"../images/pubu.jpg\"/>");
 });
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试</title>
</head>
<body>
  <div id="img" ></div>
</body>
</html>

这个页面要做的事情很简单,首先从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

时间: 2024-11-05 01:01:43

nginx基础入门的相关文章

Nginx基础入门之文件操作优化及请求特殊处理介绍

本节的内容主要讲到关于nginx文件操作优化以及对客户端请求特殊处理(比如限速,不合法请求处理,是否注明nginx版本号) 一.通过nginx对客户端相关请求做特殊处理 1.1 按HTTP方法名限制用户请求 语法:limit_except method ... {...} 配置块:location Nginx通过limit_except后面指定的方法名来限制用户请求.方法名可取值包括:GET.HEAD.POST.PUT.DELETE.MKCOL.COPY.MOVE.OPTIONS.PROPFIN

Nginx基础入门之fastcgi模块常用配置项说明

在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥出更出色的性能呢,下面就讲讲关于nginx模块中fastcgi这部分通用参数介绍 1.1 fastcgi_connect_timeout  配置语法:  fastcgi_connect_timeout 时间(单位为s) 默认值: fastcgi_connect_timeout 60s 配置区域: h

Nginx基础入门之uptream负载均衡常用配置项说明

很多大型的网站中,ngixn常常作为反向代理sever负载上游web server结合高可用机制构建一个大型web集群,而要通过nginx构建这样的一个集群,必然少不来nginx一个很重要的模块:负载均衡模块(upstream),如下所示为nginx负载均衡配置项介绍. 1.1 upstream 块配置项说明 语法:upstream name {...}    //指定负载均含name(名称) 配置块:http upstream块定义了一个上游服务器的集群,便于反向代理中的proxy_pass使

Nginx基础入门之相关配置模板样例参考

关于nginx,在不同的环境下有不同的配置,比如nginx在LNMP环境中有lamp 环境的配置,从到反向代理时,有反向代理的配置,在做负载均衡时,有负载均衡的配置,下面我们来介绍一下关于nginx不同应用环境的配置样例 通常在配置nginx时,我习惯将nginx配置分为nginx分为两大部分:1.共用nginx配置:2.include引用的web配置,如下所示 * 共用nginx配置模板参考 #user  nobody; user nginx ;   worker_processes  aut

Nginx基础入门之gzip常用配置项说明

在很多大型的网站中,web资源内容压缩是很有必要的,一来减少宽带的占用,二来提高高server处理性能,在nginx中有一个单独的模块是来处理web资源压缩机制,即ngx_gzip_module ,下面我们来讲解一下关于gzip模块一些常用的配置项参数说明 一.ngx_http_gzip_module模块配置项介绍说明 1.1 gzip 配置语法: gzip  on|off 默认值:  gzip  off 配置区域: http ,server, location ,  if 配置项说明: 是否开

【转】Nginx基础入门之fastcgi常用配置项说明

在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥出更出色的性能呢,下面就讲讲关于nginx模块中fastcgi这部分通用参数介绍 1.1 fastcgi_connect_timeout 配置语法:  fastcgi_connect_timeout 时间(单位为s) 默认值: fastcgi_connect_timeout 60s 配置区域: ht

2-2-运维必备核心技能-nginx基础入门

Nginx的程序架构:master/worker一个master进程:---主进程负载加载和分析配置文件.管理worker进程.平滑升级一个或多个worker进程---子进程处理并响应用户请求缓存相关的进程:cache loader:载入缓存对象cache manager:管理缓存对象特性:异步.事件驱动和非阻塞并发请求处理:通过kevent.epoll.select./dev/poll文件io:高级io sendfile,异步,mmapnginx模块:高度模块化,但其模块早期不支持dso机制(

Nginx Web 基础入门

目录 Nginx Web 基础入门 静态WEB软件 两种方式部署Nginx 如何升级nginx或者添加功能 使用systemd管理nginx nginx相关配置文件 nginx的配置文件详解 虚拟主机配置方案 方式1:基于IP(很少用) 方式2:基于端口(公司用,用于测试环节) 方式3:基于域名(生产环节) Nginx Web 基础入门 nginx简述 Nginx是一个开源且高性能.可靠的Http Web服务.代理服务. 开源: 直接获取源代码 高性能: 支持海量并发 可靠: 服务稳定 我们为什

Nginx基础笔记

Nginx基础笔记 资源 安装 ubuntu下 编译安装 基本操作 HTTP基本配置 配置说明 配置文件目录结构 配置文件结构 模块 模块化 index模块 Log模块 Real IP模块 Access模块 Rewrite模块 Proxy模块 upstream模块 其他 配置静态化目录 负载均衡 控制页面缓存 nginx的内置变量 nginx小结 资源 资源 Nginx 官网 Nginx 官方下载地址 Nginx最佳实践配置项目 地址 Nginx Configuration wiki 教程 ag