美文网首页
nginx 基础知识

nginx 基础知识

作者: AD刘涛 | 来源:发表于2021-03-21 15:29 被阅读0次

什么是反向代理

用户请求目标服务器,由代理服务器决定使用哪个服务器进行服务。

反向代理

图解正向代理、反向代理

apache 劣势

每个请求会独占一个工作线程,当并发数到几千时,就同时有几千的线程在处理请求了。这对操作系统来说,线程带来的内存占用非常大,线程的上下文切换带来的cpu开销很大,自然性能就上不去了,而这些开销完全没有意义。

nginx 常见配置

server {
        # 只有本机5000端口才能访问该服务
        listen       127.0.0.1:5000;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        # 普通匹配 只有输入127.0.0.1:5000才能访问
        # location / {
        #     root   /www/foodie-shop;
        #     index  index.html index.htm;
        # }

        # # 精确匹配 只有输入127.0.0.1:5000/WechatIMG53.jpeg 才能访问
        # location = /WechatIMG53.jpeg {
        #     root   /www/image;
        #     index  index.html index.htm;
        # }

        # 匹配正则表达式 * 代表不区分大小写 
        location ~* .(GIF|jpg|jpeg|png) {
            root   /www/image;
        }

Nginx 日志切割

  1. 创建一个shell可执行文件:cut_my_log.sh
#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log

#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`

  1. cut_my_log.sh 添加可执行权限
chmod +x cut_my_log.sh
  1. 执行脚本
./cut_my-log.sh

Nginx 跨域配置

#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;

Nginx 防盗链接配置

#对源站点验证
valid_referers *.imooc.com; 
#非法引入会进入下方判断
if ($invalid_referer) {
    return 404;
} 

如:

 server {
        # 只有本机5000端口才能访问该服务
        listen       127.0.0.1:5000;
        server_name  localhost;


        #允许跨域请求的域,*代表所有
        add_header 'Access-Control-Allow-Origin' *;
        #允许带上cookie请求
        add_header 'Access-Control-Allow-Credentials' 'true';
        #允许请求的方法,比如 GET/POST/PUT/DELETE
        add_header 'Access-Control-Allow-Methods' *;
        #允许请求的header
        add_header 'Access-Control-Allow-Headers' *;

        #对源站点验证
        valid_referers *.imooc.com; 
        #非法引入会进入下方判断
        if ($invalid_referer) {
            return 404;
        } 

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        # 普通匹配
        location / {
            root   /Users/liutao/Github/foodie-shop;
            index  index.html index.htm;
        }

        # 精确匹配
        location = /WechatIMG53.jpeg {
            root   /Users/liutao/Documents/照片;
            index  index.html index.htm;
        }

        # 匹配正则表达式 * 代表不区分大小写
        location ~* .(GIF|jpg|jpeg|png) {
            root   /Users/liutao/Documents/照片;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

相关文章

  • 【转】Nginx入门指南,快速搭建静态文件服务器和代理服务器

    本文介绍 Nginx 入门基础知识,让你迅速搭建 Nginx 服务器。主要内容包括 Nginx 安装和简单使用、N...

  • Nginx学习

    1、Nginx基础知识 1.1认识Nginx 百科给出的解释: 总结: Nginx是一个高性能的Http和反向代理...

  • nginx负载均衡实验(全docker环境)

    Nginx 负载均衡基础知识nginx 的 upstream 目前支持 4 种方式的分配1)、轮询(默认)每个请...

  • Nginx负载均衡

    Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) ...

  • Nginx的安装部署

    第一、首先,需要知道的nginx的六个基础知识; 1.nginx的来源、作用和特点是什么? 答:nginx的来源:...

  • 集群搭建tomcat+keepalived+nginx+memc

    集群搭建tomcat+keepalived+nginx+memcached 一、基础知识 1、linux基本命令 ...

  • nginx基础知识

    nginx主配置文件 nginx.conf 配置文件结构如下: location匹配规则 语法规则location...

  • nginx 基础知识

    nginx由于自身出色的性能,在世界范围内是受到了越来越多人的关注。国内使用nginx网站的用户也很多:百度、京东...

  • Nginx基础知识

    简介: 概念:Nginx(engine X)是一个轻量级、高性能的HTTP和反向代理服务器。 特点:占有能存少,并...

  • Nginx基础知识

    本文主要介绍Nginx相关的基础技术,并做一些配置说明,具体实践,需要靠各位自己在实际中进行践行。 Nginx是什...

网友评论

      本文标题:nginx 基础知识

      本文链接:https://www.haomeiwen.com/subject/xpnbqltx.html