Nginx入门指南菜鸟教程下载_nginx菜鸟教程下载

简介轻量级HTTP服务器事件驱动,异步非阻塞反向代理与负载均衡高并发,低内存占用安装Nginx# Ubuntu
apt-get install nginx
# Centos
yum install nginx常用命令启动nginx
停止# 立即停止
nginx -s stop
# 从容停止
nginx -s quit
# 杀死进程
killall nginx

Nginx入门指南菜鸟教程下载

简介

轻量级HTTP服务器

Nginx入门指南菜鸟教程下载_nginx菜鸟教程下载

事件驱动,异步非阻塞

反向代理与负载均衡

高并发,低内存占用

安装Nginx

# Ubuntu
apt-get install nginx
# Centos
yum install nginx

常用命令

启动

nginx

停止

# 立即停止
nginx -s stop
# 从容停止
nginx -s quit
# 杀死进程
killall nginx

重新载入配置

nginx -s reload

配置

cd /etc/nginx
vim nginx.conf

nginx配置文件

#运行用户,默认即是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes  1;   
#错误日志存放目录
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
pid        /var/run/nginx.pid;
events {
    worker_connections  1024; # 单个后台进程的最大并发数
}
http {
    include       /etc/nginx/mime.types;   #文件扩展名与类型映射表
    default_type  application/octet-stream;  #默认文件类型
    #设置日志模式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;   #nginx访问日志存放位置
    sendfile        on;   #开启高效传输模式
    #tcp_nopush     on;    #减少网络报文段的数量
    keepalive_timeout  65;  #保持连接的时间,也叫超时时间
    #gzip  on;  #开启gzip压缩
    include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件
}

子配置conf.d/xxx.conf

server {
    listen       80;   #配置监听端口
    server_name  localhost;  //配置域名
    #charset koi8-r;     
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;     #服务默认启动目录
        index  index.html index.htm;    #默认访问文件
    }
    #error_page  404              /404.html;   # 配置404页面
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;   #错误状态码的显示页面,配置后需要重启
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

访问控制

IP

 location / {
        deny   123.9.51.42; # 禁止访问的ip
        allow  45.76.202.231; # 允许访问的ip
    }

路由

# =号代表精确匹配,使用了=后是根据其后的模式进行精确匹配
location =/img{
    allow all;
}
location =/admin{
    deny all;
}

正则

 location ~\.php$ {
    deny all;
}

虚拟主机

配置虚拟主机可以基于端口号、基于IP和基于域名。

端口号

server{
        listen 8001;
        server_name localhost;
        root /usr/share/nginx/html/html8001;
        index index.html;
}

IP

server{
        listen 80;
        server_name 112.74.164.244;
        root /usr/share/nginx/html/html8001;
        index index.html;
}

域名

server{
        listen 80;
        server_name nginx2.jspang.com;
        location / {
                root /usr/share/nginx/html/html8001;
                index index.html index.htm;
        }
}

反向代理

server{
        listen 80;
        server_name nginx2.jspang.com;
        location / {
               proxy_pass http://jspang.com;
        }
}

其他配置:

proxy_set_header :在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。

proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。

proxy_read_timeout : 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。

proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。

proxy_redirect :用于修改后端服务器返回的响应头中的Location和Refresh。

适配PC或移动设备

Nginx通过内置变量$http_user_agent,可以获取到请求客户端的userAgent,就可以用户目前处于移动端还是PC端,进而展示不同的页面给用户。

server{
     listen 80;
     server_name nginx2.jspang.com;
     location / {
      root /usr/share/nginx/pc;
      if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
         root /usr/share/nginx/mobile;
      }
      index index.html;
     }
}

Gzip

http {
   .....
    gzip on;
    gzip_types text/plain application/javascript text/css;
   .....
}

Nginx提供了专门的gzip模块,并且模块中的指令非常丰富。

gzip : 该指令用于开启或 关闭gzip模块。

gzip_buffers : 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。

gzip_comp_level : gzip压缩比,压缩级别是1-9,1的压缩级别最低,9的压缩级别最高。压缩级别越高压缩率越大,压缩时间越长。

gzip_disable : 可以通过该指令对一些特定的User-Agent不使用压缩功能。

gzip_min_length:设置允许压缩的页面最小字节数,页面字节数从相应消息头的Content-length中进行获取。

gzip_http_version:识别HTTP协议版本,其值可以是1.1.或1.0.

gzip_proxied : 用于设置启用或禁用从代理服务器上收到相应内容gzip压缩。

gzip_vary : 用于在响应消息头中添加Vary:Accept-Encoding,使代理服务器根据请求头中的Accept-Encoding识别是否启用gzip压缩。

海计划公众号
(0)
上一篇 2020/03/20 23:49
下一篇 2020/03/20 23:49

您可能感兴趣的内容

  • js判断异步引入的js文件是否加载完毕使用攻略_加载小白教程

    在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载。这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证这个文件加载完成后,再执行下面的内容。如何判断js是否加载完成?(实现loadScript(url,callback)异步加载脚本,完成后执行回调函数,要求支持

    2020/03/29
  • 站长必备工具使用教程_站长菜鸟教程网

    作为一名站长,平时常用到的工具有哪些呢?下面整理下站长必备工具,分享给大家。站长工具 网址:http://tool.chinaz.com/map.aspx包括:工具导航,站长工具,工具大全,SEO工具,网站优化,关键词排名查询,网站收录查询,PR值查询,网站备案查询,移动适配,IP查询,PING检测,域名删除,WHOIS查询,友情链接查询,加密解密,编码转换

    2020/03/30
  • web端百度地图API实现实时轨迹动态展现入门百科_地图入门指南

    最近在工作中遇到了一个百度地图api中的难题,恐怕有的程序员可能也遇到过。就是实时定位并显示轨迹,网上大部分都是通过创建polyline对象贴到地图上。当然,百度地图的画线就是这样实现的,但是好多人会发现,如果数据量超过四五千的话,浏览器可能就要卡了,后面可能就直接因为浏览器内存不足直接崩溃。按理讲面对这么少的数据,百度地图肯定会考虑到这一点,所以肯定有解决

    2020/03/23
  • TremulaJS入门指南_无限循环 js 轮播图插件

    TremulaJS入门指南 GitHub:https://github.com/garris/TremulaJS 简介描述:无限循环 js 轮播图插件 TremulaJS 是一款非…

    2020/03/06
  • 网页中favicon.ico图标的作用、尺寸、制作小白入门_图标小白攻略

    favicon图标的作用:网站favicon.ico文件的用途很简单,就是在浏览器标签里,最前面显示的那个logo,不过好像很多新手做网站都没有留意这个图标怎么来的,因为编辑器代码里根本不写也会有个默认图片。不过总的来讲,这个图标还是自己定义比价好,起码作为一种“logo”,可以让人一眼就认出你的网站。默认的话,不需要写代码。直接在网站根目录放一个图片文件,

    2020/03/29
  • FastDom基础知识_让DOM的读/写操作捆绑在一起的js库

    FastDom基础知识 GitHub:https://github.com/wilsonpage/fastdom 简介描述:让DOM的读/写操作捆绑在一起的js库 FastDom是…

    2020/03/06
  • Jpegmini零基础入门_JPG图片压缩工具

    Jpegmini零基础入门 官方网址:https://www.jpegmini.com/ 简介描述:JPG图片压缩工具 Jpegmini由一家以色列创业公司开发的针对JPEG格式图…

    2020/03/10
  • Js中offset、scroll、client的理解菜鸟知识_属性小白知识

    在下开发中经常碰到 offset、scroll、client 这几个关键字,比如 offsetLeft、offsetHeight、scrollHeight、clientTop 什么的,每次都要各种实验,这里总结一下,一劳永逸。首先两张图镇楼,方便随时翻阅1. offsetoffset 指偏移,包括这个元素在文档中占用的所有显示宽度,包括滚动条、 paddin

    2020/03/26
  • Node-RED是什么?小白基础_node指南攻略

    Node-RED是一种基于Node.js的编程工具,用于以新颖有趣的方式将硬件设备,API和在线服务连接在一起。它提供了一个基于浏览器的编辑器,可以使用调色板中的各种节点轻松地将流连接在一起,只需单击即可将其部署到运行时。Node-Red提供基于网页的编程环境。通过拖拽已定义node到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy

    2020/03/24
  • JS算法题之整数反转菜鸟教程_算法题入门基础知识

    题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例输入: 123输出: 321输入: -123输出: -321输入: 120输出: 21解答这题就很简单了,不过要考虑好边

    2020/03/29
  • keep-alive 实现后退不刷新并保持滚动位置小白指南_刷新使用帮助

    keep-alive 实现后退不刷新并保持滚动位置小白指南 vue可以通过<keep-alive>元素包裹组件,实现缓存,下次使用时不需要重新创建该组件。但存在一个问题…

    2020/03/19
  • 微内核架构在大型前端系统中的应用基础入门_架构使用攻略

    只讨论架构,不讨论框架1、名词解释由一群尽可能将数量最小化的软件程序组成,他们负责提供、实现一个操作系统所需要的各种机制和功能。这些最基础的机制,包括了底层地址空间管理,线程管理,与进程间通讯。2、设计理念将系统的实现,与系统的基本操作规则区分开来。它实现的方式是将核心功能模块化,划分成几个独立的进程,各自运行,这些进程被称为服务。所有的服务进程,都运行在不

    2020/04/03
  • 区块链与数据库到底有何不同?只是名字不一样吗?使用攻略_区块链小白攻略

    区块链被诟病的一大原因,就是区块链分布式账本技术(DLT)已经被吹捧成了一剂包治百病的良药,从支付处理和供应链跟踪到数字身份,再到版权保护,似乎当今世界几乎所有的交易问题都可以从中找到答案。但这也导致了一个问题,许多上链行为是为了用区块链而用区块链。或者换句话说,就算不用区块链,用户的应用问题也能解决。用户就会反问,我为什么要用区块链。与之相反,数据库已在相

    2020/03/20
  • JS判断字符串小括号是否成对合法小白知识_字符串入门知识

    一、思路要判断()是否成对;运用栈的“后进先出“ 的特点,定义一个空数组,作为栈;for循环遍历字符串,当遇到“(”的时候就把“(”添加到空数组最顶端,push方法,记录发现一个左括号;当遇到“)”就把数组中最顶端的元素弹出来,pop方法,抵消一个左括号。注意如果此时数组是空的,但是遇到“)”说明没有“(”缺少成对的“)”,则返回false;不是括号的字符就

    2020/03/31
  • 员工失去工作动力的5个原因攻略教程_工作小白指南

    根据“最新哈佛管理信息”(Harvard Management Update)的一项研究,在大约85%的公司中,员工的士气在工作的前6个月后会急剧下降,并且在随后数年持续恶化。为什么会这样?《Inc.》杂志网站上的一篇文章指出,很多时候,领导者在不知不觉中削弱了员工的积极性。文章列举了五个常见的员工失去工作动力的原因。如果你想拥有一支高度敬业的队伍,那么你可

    2020/03/20
  • hCoder小白知识_更好、更快的开发

    hCoder小白知识 官方网址:http://www.hcoder.net/ 简介描述:更好、更快的开发 hCoder 是一个以实用技能为主的学习平台。提供了丰富的php开发、we…

    2020/03/07