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. richedit设置滚动条的位置和更新内容

    需要txt发现读者richedit的scrollbar位置(为了便于下一次读,直接访问与上次读取下一个读取位置)不值得治疗,采用GetScrollPos.SetScrollPos你可以设置scorll ...

  2. 如何找到w3wp与w3svc的对应关系

    在生产环境中,一般会有多个IIS进程在运行,这里面可能是有Web Garden的设置,也可能是有多个application pool在运行.而我们经常在c:\inetpub\logs目录下面,看到很多 ...

  3. c#中 uint--byte[]--char[]--string相互转换汇总

    原文:c#中 uint--byte[]--char[]--string相互转换汇总 在在做一些互操作的时候往往需要一些类型的相互转换,比如用c#访问win32api的时候往往需要向api中传入DWOR ...

  4. TCP/IP具体解释--nagle算法和TCP_NODELAY

    在client一直给server发送小数据的时候,接受到一个回应会在非常长的时间以后,可是将多个小数据写操作合并成一个写操作,问题就没了. 这个事件的缘由可能是TCP_NODELAY的原因 如今大概明 ...

  5. 【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明

    内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布 ...

  6. Demo of Python &quot;Map Reduce Filter&quot;

    Here I share with you a demo for python map, reduce and filter functional programming thatowned by m ...

  7. C# 读取IE缓存文件(2)

    private void button1_Click(object sender, EventArgs e) { , nBufSize; IntPtr buf; INTERNET_CACHE_ENTR ...

  8. python遗传算法实现数据拟合(转)

    python据说功能强大,触角伸到各个领域,网上搜了一下其科学计算和工程计算能力也相当强,具备各种第三方包,除了性能软肋外,其他无可指摘,甚至可以同matlab等专业工具一较高下. 从网上找了一个使用 ...

  9. UVA 1358 - Generator(dp+高斯消元+KMP)

    UVA 1358 - Generator option=com_onlinejudge&Itemid=8&page=show_problem&category=524& ...

  10. SQL Tuning Health-Check Script (SQLHC)

    1. 纯手工打造 工具:程序员的双手 特点:手写客户端与服务器端验证代码 2. 半手工半自动 工具:jquery.validate(客户端) + DataAnnotations & DataA ...