Nginx部署前端需要了解的知识

Nginx部署前端项目

Nginx 是一个高性能的HTTP和反向代理服务器。作为前端开发的同学,了解反向代理的概念是非常必要的,特别是在构建现代应用时。

反向代理的基本概念

反向代理与正向代理的区别在于代理对象的不同。正向代理是客户端主动通过代理服务器访问互联网,例如使用 VPN 翻墙。当我们访问国外网站时,可能会遇到速度慢或无法访问的问题,这时正向代理可以帮助我们解决这些问题。

与之相对,反向代理则是在服务器端,通过反向代理服务器来选择目标服务器处理请求。客户端无需配置,只需将请求发送到反向代理服务器,由它来获取数据并返回给客户端。这种方式不仅隐藏了真实服务器的 IP 地址,还能够将请求分发到多台后端服务器,从而提高系统的可用性和负载均衡能力,增强整体安全性。

在这里插入图片描述

反向代理工作原理

客户端配置代理服务器,通过代理服务器进行互联网访问。代理对象是客户端,而服务端则隐藏在反向代理之后。简单来说,当用户请求资源时,反向代理服务器会处理这些请求并转发到合适的后端服务器。这样,外部用户只需知道反向代理的地址,而不需要知道真实的服务器地址。

在这里插入图片描述

nginx的配置文件目录

在这里插入图片描述

  • /etc/nginx/nginx.conf 核心配置文件
  • /etc/nginx/conf.d/default.conf 默认http服务器配置文件
  • /etc/nginx/fastcgi_params fastcgi配置
  • /etc/nginx/scgi_params scgi配置
  • /etc/nginx/uwsgi_params uwsgi配置
  • /etc/nginx/koi-utf
  • /etc/nginx/koi-win
  • /etc/nginx/win-utf 这三个文件是编码映射文件,因为作者是俄国人
  • /etc/nginx/mime.types 设置HTTP协议的Content-Type与扩展名对应关系的文件
  • /usr/lib/systemd/system/nginx-debug.service
  • /usr/lib/systemd/system/nginx.service
  • /etc/sysconfig/nginx
  • /etc/sysconfig/nginx-debug 这四个文件是用来配置守护进程管理的
  • /etc/nginx/modules 基本共享库和内核模块
  • /usr/share/doc/nginx-1.18.0 帮助文档
  • /usr/share/doc/nginx-1.18.0/COPYRIGHT 版权声明
  • /usr/share/man/man8/nginx.8.gz 手册
  • /var/cache/nginx Nginx的缓存目录
  • /var/log/nginx Nginx的日志目录
  • /usr/sbin/nginx 可执行命令
  • /usr/sbin/nginx-debug 调试执行可执行命令
nginx核心模块

nginx的核心配置文件nginx.conf主要由3个部分组成:

基本配置
#user  nobody;                  #配置worker进程运行用户

worker_processes  1;            #配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量

#error_log  logs/error.log;     # 配置全局错误日志及类型
events配置
    events {

        worker_connections  1024;  #配置每个worker进程连接数上限,nginx支持的总连接数等于worker_connections*worker_processes
   }
http基本配置
http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 100m;

    sendfile        on;    #开启高效文件传输模式
    #tcp_nopush     on;  #防止网络阻塞

    keepalive_timeout  0;
    
    gzip on; //启动
    gzip_buffers 32 4K;
    gzip_comp_level 6; //压缩级别,1-10,数字越大压缩的越好
    gzip_min_length 100; //不压缩临界值,大于100的才压缩,一般不用改
    gzip_types application/javascript text/css text/xml;
  }
  • client_max_body_size表示 客户端请求服务器最大允许大小,如果请求正文数据大于设定值,HTTP协议会报413错误 Request Entity Too Large,如果需要上传大文件是需要修改这个值的。
  • keepalive_timeout :长连接超时时间,单位是秒,Nginx使用 keepalive_timeout 来指定 KeepAlive 的超时时间(timeout)。指定每个 TCP 连接最多可以保持多长时间。
    Nginx 的默认值是 75 秒,有些浏览器最多只保持 60秒,所以可以设定为 60 秒。若将它设置为 0,就禁止了 keepali
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值