Nginx 反向代理 + 缓存 + 静态资源服务器 + 负载均衡

nginx经常挂在嘴边的就是反向代理,不过他还可以干很多事,我所了解的只是反向代理、静态文件缓存、静态资源服务器,对于负载均衡只是略有涉及。

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器 ,也是一个 IMAP/POP3/SMTP 代理 服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名

引用一下菜鸟教程的简介:Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

特点
(1):代理服务器,快速高效反向代理,提升网站性能。
(2):负载均衡器,内部支持Rails和PHP,也可支持HTTP代理服务器,对外进行服务。同时支持简单容错和利用算法进行负载均衡。
(3):性能方面,Nginx专门为性能设计,实现注重效率。采用Poll模型,可以支持更多的并发连接,并在大并发时占用很低内存。
(4):稳定性方面,采用分阶段资源分配技术,使CPU资源占用率低。
(5):高可用性方面,支持热备,启动迅速。

nginx安装

mac 下安装

brew install nginx

安装目录为 /usr/local/Cellar/nginx/1.17.2/
配置文件目录为 /usr/local/etc/nginx/nginx.conf
服务器默认路径 /usr/local/var/www

常用命令

mac 下的启动命令

  • 启动 nginx

  • 快速停止关闭 nignx -s stop

  • 优雅的关闭 nginx -s quit

  • 承载配置文件 nginx -s reload

  • 查看nginx进程 ps -ef | grep nginx

  • 查看配置文件是否正确 nginx -t

  • 优雅的杀死nginx进程 kill -quit 进程号

  • 快速的杀死nginx进程 kill -term 进程号

nginx配置

nginx 文件的默认配置文件位置 /usr/local/etc/nginx/nginx.conf

打开 /usr/local/etc/nginx/ 目录可以看到,里面有很多的配置文件,启动有一个nginx.confnginx.conf.default两个配置文件,刚开始安装的时候,两个文件的内容是一样的,所以我们可以肆意的修改nginx.conf搞崩的话就直接把nginx.conf.default中的内容复制过来就行了又是一个新的nginx。

配置文件架构

// nginx全局块
...

// events块
events {
    ...
}

// http 块
http {
    // http全局块
    ...
    
    // server块
    server {
        ...
    }
    
    // http全局块
    ...
}

配置文件加注释说明

# 配置nginx的用户组 默认为nobody
#user  nobody;

# 配置nginx的主线程数量 nginx是一个主线程下面多个子线程
worker_processes  1;

# 配置nginx的错误日志 格式为 log路径 log级别
# error_log 的日志级别为: debug info notice warn error crit alert emerg 紧急由低到高
# error_log的默认日志级别为error,那么就只有紧急程度大于等于error的才会记录在日志
# error_log 的作用域为 main http mail stream server location

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

# 指定nginx进程运行文件存放地址
#pid        logs/nginx.pid;


events {
    # poll是多路复用IO中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
    # use poll
    
    # 设置网络的连接序列化 防止惊群现象发生 默认为 on
    # accept_mutex on;
    
    # 设置一个进程是否同时接受多个网络连接 默认为 off
    # multi_accept off
    
    # 最大连接数 默认为 512
    worker_connections  1024;
}


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_
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值