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

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这个port上,这种就是反向代理了,使用反向代理能够让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>

这个页面要做的事情非常easy,首先从nginx取出jquery的js,当页面加载的时候从nginx取出图片显示在页面上,这个需求的配置例如以下:

        location / {

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

这样子tomcat(我的是80port)就能够和nginx搭配使用了,效果例如以下:

最后把data这个文件夹的截图贴出来,随便看看

至于nginx的负载均衡本人不建议使用,眼下nginx的负载均衡不支持session复制,假设对session这一块要求不非常严格的情况下才建议使用。负载均衡用apache会更好由于它支持session复制

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

nginx基础入门的更多相关文章

  1. Nginx 基础入门

    目录 Nginx 基础入门 1.Nginx简介 1.1.相关名词解释 2.Nginx优势 3.Nginx部署 4.Nginx配置文件 5.Nginx模块 6.Nginx配置文件 6.1.Locatio ...

  2. Linux系统WEB服务之Nginx基础入门

    一.Nginxi简介 Nginx是什么?它是一个开源.高性能的WEB服务器软件和代理服务器软件,由俄罗斯人Igor Sysoev 开发实现.它的功能主要分三类,第一是它作为一个WEB服务软件使用:第二 ...

  3. Nginx web基础入门

    目录 Nginx web基础入门 如何升级nginx或者添加功能 使用systemd管理nginx nginx相关配置文件 nginx的配置文件详解 日志格式 game日志记录实战 日志切割 手写虚拟 ...

  4. Nginx Web 基础入门

    目录 Nginx Web 基础入门 Nginx快速安装 两种方式部署Nginx 如何升级nginx或者添加功能 使用systemd管理nginx nginx相关配置文件 nginx的配置文件详解 虚拟 ...

  5. Nginx记录-Nginx基础(转载)

    1.Nginx常用功能 1.Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理. Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能.Nginx可以根据不同的 ...

  6. Kibana 基础入门

    原文地址:Kibana 基础入门 博客地址:http://www.extlight.com 一.前言 Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作.Kibana ...

  7. 轻量级HTTP服务器Nginx(入门与安装篇)

    轻量级HTTP服务器Nginx(入门篇)   文章来源于南非蚂蚁   一.什么是Nginx 相信很多读者都对Apache非常熟悉,与Apache类似,Nginx是一款高性能的HTTP和反向代理服务器软 ...

  8. WordPress安装:零基础入门教程

    WordPress安装:零基础入门教程 1主机空间要求要运行 WordPress,主机空间需满足以下条件.不过现在网络上的空间基本都可以,而且还让你随意定制Php和Mysql版本,至于空间和数据库大小 ...

  9. Vue-Router 基础入门教程

    Vue-Router 基础入门教程 前言 这周的计划是用VUE将之前的小demo的前端给重构了,并且做成前后端分离的样式,因为之前的那个聊天室的demo几乎都是在一个路由上完成的,所以学习Vue-ro ...

随机推荐

  1. [LeetCode62]Unique Paths

    题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...

  2. __weak如何实现目标值自己主动设置nil的

    在开始评论__weak机制之前,首先,一些床上用品 ARC 实现 苹果公司的官方介绍说,.ARC这是"内存管理由编译器"的,但事实上,只有编译器不能完全胜任,ARC另外还要看OC执 ...

  3. Redis测井系统

    什么是 SLOWLOG Slow log 是 Redis 用来记录查询运行时间的日志系统. 查询运行时间指的是不包含像client响应(talking).发送回复等 IO 操作,而单单是运行一个查询命 ...

  4. HDU 1054 Strategic Game(树形DP)

    Problem Description Bob enjoys playing computer games, especially strategic games, but sometimes he ...

  5. Android开发之合并文件的几种方式

    以下介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的详细流程.amr格式的文件头是6字节,所以在进行文件合并的时候要减去除第一个文件以外的其它文件的文件头. 注意:不同文件的文件头是不 ...

  6. 七天来学习ASP.NET MVC (两)——ASP.NET MVC 数据传输

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上.因此须要确保您是否掌握了上一节的内容. 本章的目标是在今天学习结束时利用最佳实践解决方式创建一个小型的M ...

  7. POJ 1631 Bridging signals(LIS 二分法 高速方法)

    Language: Default Bridging signals Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 1076 ...

  8. MAC OSX 进程间通信

    Mac OS在下面IPC方式很多类型,大约如下. 1. Mach API  2. CFMessagePort  3. Distributed Objects (DO) NSDistributedNot ...

  9. 如何实现Web聊天

    假设你web聊天不知道这件事情,那么最好的方法可能是:openfire+jsjac openfire它是java做开源xmppserver,jsjac它是javascript做开源的Web版本xmpp ...

  10. ORACLE安装心得,大家一起分享,假设不正确的地方,大家请指出来

    1. 安装\Oracle\10201_database_win32.zip: a) 安装图解: http://jingyan.baidu.com/article/5d6edee228308899ead ...