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. Linux高性能server规划——多线程编程(在)

    多线程编程 Linux主题概述 线程模型 线程是程序中完毕一个独立任务的完整执行序列.即一个可调度的实体. 依据执行环境和调度者的身份.线程可分为内核线程和用户线程.内核线程,在有的系统上也称为LWP ...

  2. hdu3844 Mining Your Own Business,无向双连接组件

    点击打开链接 无向图的双连通分量 #include<cstdio> #include<stack> #include<vector> #include<map ...

  3. 【Android基础】短信的发送

    //Button的点击事件 @Override public void onClick(View v) { // 接受者电话号码 Uri uri = Uri.parse("smsto:123 ...

  4. OnWndMsg处理功能

    于MFC于, OnWndMsg功能,如以下处理步骤: 1)首先.被推断消息有一个消息响应函数.例如OnLButtonDown()处理"左新闻"新闻. 2)数.这里以MFC 的pro ...

  5. [Ext JS 4] 实战Chart 协调控制(单一的坐标,两个坐标)

    前言

  6. POJ 1699 Best Sequence (DFS+预处理)

    意甲冠军:看图片是晶莹剔透的,正确的, N连接到第一序列(同样的序列部分).总序列获得最短. 主题链接:http://poj.org/problem?id=1699 ~~~~ 思路就是:将N个序列首尾 ...

  7. JTextAreaDemo

    问题:java swing 图形界面程序,拖了一个JTextArea出来,程序中有很多地方调用JTextArea中的append这个方法不断往文本域结尾处追加数据,但是程序每次运行,总是在程序运行完成 ...

  8. 备注ocp_ORACLE专题网络

    声明:原创作品,出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanl ...

  9. tomcat配置sqlserver数据库

    1. 首先确保Tomcat安装文件夹中的\common\lib(对于Tomcat5.5)或者是\lib(Tomcat6.0)文件夹中已包括JDBC连接数据库所必须的三个.jar文件(msbase.ja ...

  10. 【Linux&amp;Unix--文件描述叙事的性格和权柄】

    个人学习整理,如有不足之处,请不吝不吝赐教.转载请注明:@CSU-Max 系列博文:                      Linux&Unix学习第一弹 -- 文件描写叙述符与权限  L ...