了解nginx(1)

本文详细介绍了Nginx的正向代理和反向代理概念,以及如何在Windows和Linux环境下安装和管理Nginx。讲解了常用命令如查看版本、启动、关闭、重新加载配置等。同时,深入解析了Nginx配置文件,包括全局配置、事件处理、HTTP模块等,并给出了一段示例配置。此外,还讨论了负载均衡的策略,如轮循和加权轮循,以及动静分离的概念。
摘要由CSDN通过智能技术生成

一、概念
代理
1.正向代理:代理配置在客户端就是正向代理,vpn
2.反向代理:代理配置在服务端就是反向代理, nginx

负载均衡

  • 轮循
  • 加权轮循
  • iphash

动静分离

  • 动态资源
  • 静态资源

二、安装
win10下载,解压 直接打开

三、常用命令
``
nginx -v 查看版本
start nginx 启用
nginx -s stop 关闭
nginx -s quit 退出
nginx -s reload 重新加载
ps aux|grep nginx 查看进程(linux)
tasklist /fi “imagename eq nginx.exe”(win10)
taskkill /f /pid xxx /pid xxx(win10)

``

四、配置文件
1、配置的文件的位置 (nginx->conf)
2、具体模块

  • 全局配置
  • events配置 服务器与用户网络连接
  • http配置(http,server,location, upstream)
    在这里插入图片描述

五、实例配置

# <!-- 操作人是谁(nobody||root),操作worker_processes(打工仔),worker_processes默认是由msater(老板)控制的-->
#user  nobody;

# <!-- worker_processes 工作进程可以设置多个,越多承受并发量越高,但是要根据服务器配置设置,以防服务器爆炸(开玩笑)!通常设置成和cpu的数量相等  -->
# <!-- 抢占机制 -->
worker_processes  1;

# <!-- 错误日志 级别从低到高 debug info notice warn error crit  -->
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

# <!-- 进程id -->
#pid        logs/nginx.pid;

# <!-- 事件处理-->
events {
# <!-- 默认使用 -->
	use epoll

# <!-- worker_connections 允许连接的客户端最大连接数 -->
    worker_connections  1024;
# 并发总数是 worker_processes 和 worker_connections 的乘积
# 即 max_clients = worker_processes * worker_connections
# 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4  为什么
# 为什么上面反向代理要除以4,应该说是一个经验值
# 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000
# worker_connections 值的设置跟物理内存大小有关
# 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数
# 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
# 我们来看看360M内存的VPS可以打开的文件句柄数是多少:
# $ cat /proc/sys/fs/file-max
# 输出 34336
# 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
# 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置
# 使得并发总数小于操作系统可以打开的最大文件数目
# 其实质也就是根据主机的物理CPU和内存进行配置
# 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
# ulimit -SHn 65535
}


http {
#	<!-- 导入请求类型文件 -->
    include       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  logs/access.log  main;
#   <!-- 用于文件传送速度的提升-->
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
#对于普通应用,必须设为 on,
#如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,
#以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
#   <!-- 数据包到达一定大小时,在发送-->
    #tcp_nopush     on;
	
#   <!-- 客户端连接服务器的超时时间(s) -->
    #keepalive_timeout  0;
    keepalive_timeout  65;
	
#   <!-- 传输内容压缩,减小体积 -->
    #gzip  on;
	gzip_disable "MSIE [1-6].";

#   <!-- 设定请求缓冲 -->
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;
	
    server {
#		<!-- 服务器监端口号 -->
        listen       80;
#		<!-- 服务器名称(域名) -->
        server_name  localhost;

        #charset koi8-r;
		
#       <!-- #设定本虚拟主机的访问日志 -->
        #access_log  logs/host.access.log  main;
#       <!-- 默认请求,打开文件 -->
        location / {
            root   html;
#			<!-- 定义首页索引文件的名称 -->
            index  index.html index.htm;
        }
#       <!-- 定义错误页面 -->
        #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;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值