Nginx知识点小总结

举报
多米诺的古牌 发表于 2022/01/22 20:08:24 2022/01/22
【摘要】 1 简介       Nginx是一个高性能(占用的内存小(1M左右),响应更快和并发更高,tomcat的并发量在150-220之间,Nginx支持的并发响应是50000,运行稳定)的HTTP和反向代理web服务器       架构的精髓:没有什么是加一层解决不了的,不行就再加一层1.1 反向代理服务器:能自动的将用户请求转发到服务器上注:正向代理 安装在客户端上 代理客户端请求;     ...

1 简介
       Nginx是一个高性能(占用的内存小(1M左右),响应更快和并发更高,tomcat的并发量在150-220之间,Nginx支持的并发响应是50000,运行稳定)的HTTP和反向代理web服务器
       架构的精髓:没有什么是加一层解决不了的,不行就再加一层
1.1 反向代理服务器:能自动的将用户请求转发到服务器上
注:正向代理 安装在客户端上 代理客户端请求;
      反向代理 代理服务端 让用户无感知的访问多台服务器(即自动配置访问某一台服务器)
1.2 负载均衡:通过权重、轮询等方式分流请求到多台服务器上 减小服务器的压力
注:轮询(几台服务器之间依次访问)、加权轮询(增加权重值,让请求按照权重值的比例访问几台服务器)
1.3 iphash:是将客户端请求的ip进行hash操作,根据hash的结果将同一个客户端ip的请求分发到同一台服务器进行处理,可以解决session不共享的问题,但是如果服务器重启session会丢失。
1.4 动静分离:动态请求web服务,静态请求本地静态资源(如css,html,js,jpg等文件)
2 安装
2.1 windows安装
2.1.1 下载nginx/Windows-1.XXX得到一个 nginx-1.XXX.zip
2.1.2 解压缩
2.1.3 配置nginx.conf文件
2.1.4 启动nginx ,默认会看到 Welcome to nginx!
   
2.2 Linux安装
2.2.1 下载 nginx-1.XXX 得到一个 nginx-1.XXX.tar.gz
2.2.2 查看Linux上是否有nginx 
2.2.2.1 输入命令 whereis nginx 或 nginx (command not found)
2.2.2.2 解压下载的nginx-1.XXX.tar.gz文件 tar -zxvf nginx-1.XXX.tar.gz
2.2.2.3 解压完成后 进入目录后 执行自动配置文件 ./configure(绿色的)
2.2.2.4 执行完成后,再执行make命令
2.2.2.5 执行完make后,如果不确定可以再执行下手动安装nginx命令 make install
2.2.2.6 执行手动安装完成后 查看是否有nginx whereis nginx
2.2.2.7 找到后如 /usr/local/nginx 进入该位置找到sbin文件夹,
2.2.2.8 进入sbin文件夹 
2.2.2.9 执行nginx文件(即执行 ./nginx(绿色的)如果执行成功没有任何日志出现)
2.2.2.10 进入 /usr/local/nginx/conf文件夹下 
2.2.2.11 查看端口号 cat nginx.conf
2.2.2.12 访问Linux地址(默认80端口),出现Welcome to nginx!即为安装成功

2.3 常用命令
进入 cd sbin
./nginx 启动
./nginx -s stop 强制退出
./nginx -s quit 安全退出 
./nginx -s reload 重新加载配置文件(当修改配置文件后必须执行此命令)
ps aux|grep nginx 查看nginx进程
  
2.4 nginx.conf文件结构

2.4.1 全局配置(如指定用户、日志、进程等)
2.4.2 events{ worker_connections 1024 (最大连接数) 及监听的事件}
2.4.3 http{
    2.4.3.1 http的全局配置(静态资源文件、等小配置)
    2.4.3.2 流的配置 upstream 任意名字(要和proxy_pass 后的名字一致){
                //负载均衡配置
                server 127.0.0.1:8080 weight = 3(轮询时的权重值,按照此值的比例分配)
                server 127.0.0.1:8081 weight = 1
            }
    2.4.3.3 server服务(http默认端口80,https默认端口443){
        listen 端口号;
        server_name 端口名称(eg: localhost);
        //代理

        location / {
           proxy_pass 协议://任意名字(要和upstream 后的名字一致)(eg:http://test)
        }
    }
   }

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。