当前位置: 首页 > news >正文

nginx1

1.静态资源服务器
2.反向代理(nginx 代理服务器了)
3.api接口服务
4.权限控制(我的客户端调取) 缓存(缓存到nginx中 不需要读取数据库了)
5.负载均衡
lua nginx层做权限控制
nginx 读取数据库 不需要应用服务器参与
服务器:apache性能差
nginx 高并发 高性能 可扩展性能好 高可靠性 热部署 开源许可证
热更新:覆盖更新 不需要关机重启
不是替换 xxx====>xxx.old
旧的请求处理还用xxx.old  用完之后 删除xxx.old
新的请求处理使用xxx

nginx 是多进程单线程 多个进程 每个进程一个线程
轻量级
多路IO复用
1个master 多个worker cpu的核数一致
master 监控worker的进程运行情况
pm2 多核方式启动node  根据cpu数开进程

IO 多路复用
linux 分配空间 4G内存 为了安全
用户空间 3G
用户没有权利读取1.txt 内核有这个权限读取这个文件
内核空间 1G
linux内核使用 放了很多机密数据
1.txt

进程的上下文切换


同步异步
用户和内核交互的时候 
阻塞非阻塞
顾客下单等 服务员等厨师
轮询 和 回调
就是因为有内核空间 和用户空间的概念  内核分层导致

进程间切换 消耗性能
保存上次观看的记录 干活干到一半需要暂存起来;

文件描述符
从3 开始 
内容拷贝到内核缓存区拿到的内容 拷贝到用户空间中
异步阻塞io io多路复用
顾客不等待  服务员给厨师 服务员等待 多个io服务(顾客) 是一个服务员,
一个服务员给多个厨师下单
select(1号厨师 2号厨师轮询查看记录1024个文件) poll(和select类似 没有数量限制 链表查询) epoll(回调函数的方式)
什么时候适合用轮询 什么时候用epoll
epoll 厨师做饭很慢的情况 用回调
select 后端十分快 每次不落空
进程通信有七种方式 pipe 和消息的方式


//nginx2
本地使用nginx的话 需要关闭防火墙
停止防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
停掉 selinux
vi /etc/selinux/config
SELINUX=disabled 设置成disable即可

安装nginx 依赖包
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
// 压测工具
yum -y install wget httpd-tools vim

yum install nginx -y
nginx -V
nginx -v 查看版本
rpm -ql nginx

不需要文件越来越大 每天生成一个新的文件 日志切割文件
touch access.log
cd etc/nginx/
vi nginx.conf


// 默认nginx路径
centos7
systemctl start nginx.service

配置文件
nginx.conf
# 表示注释 $表示变量
log日志地址:
/var/log/nginx/access.log
tail -f /www/server/nginx/logs/access.log
include 包含其他配置未见 写一个包含的文件 写type类型等
include /etc/nginx/mime.types;
location ~ \.php$  {
    //表示以php结尾的文件
}

user nginx; 设置运行此nginx的用户名
error_log /var/log/nginx/error.log 警告
pid /var/run/nginx.pid 放着nginx运行的进程号
events {
worker_connections 1024; 工作进程的最大连接数、
}

nginx 从应用服务器先收集存储起来 到一定数量再推送给客户端
tcp_nopush on // TCP不推 有一定缓存
keepalive_timeout 65 活动链接超时时间
gzip on 是否启用压缩
include 包含其他配置文件
root 是静态文件根目录
root /usr/share/nginx/html;
index index.html index.htm;
找到root静态文件根目录下的文件即可
error_page 500 502 503 504 /50x.html


一个http里面可以配置多个server

相关文章:

  • 承认多元化,保持宽容
  • nginx2
  • 如何编写高质量的代码——来自《代码大全(第2版)》的启示
  • nginx3 gzip等
  • ClickHouse概述
  • godaddy/terminus 健康检查
  • node 中nextjs
  • 利用visual source safe管理代码
  • 【Nest 极速指南】应用篇之 ElasticSearch
  • next 微服务
  • 服务器拉取git代码
  • 专用来回TOO OLD的用的火星帖,今天翻出来又再感叹一下!
  • [技术娱乐]How to make love
  • [Nginx]反向代理Node将3000端口访问转换成80端口
  • nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 2017年终总结、随想
  • Android 控件背景颜色处理
  • Apache Pulsar 2.1 重磅发布
  • Asm.js的简单介绍
  • ERLANG 网工修炼笔记 ---- UDP
  • github指令
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python连接Oracle
  • scala基础语法(二)
  • Vue组件定义
  • windows下mongoDB的环境配置
  • 分享一份非常强势的Android面试题
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 关于字符编码你应该知道的事情
  • 好的网址,关于.net 4.0 ,vs 2010
  • 前端面试之CSS3新特性
  • 学习HTTP相关知识笔记
  •  一套莫尔斯电报听写、翻译系统
  • 白色的风信子
  • PostgreSQL之连接数修改
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ###STL(标准模板库)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (蓝桥杯每日一题)love
  • (三)mysql_MYSQL(三)
  • (一)kafka实战——kafka源码编译启动
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .NET : 在VS2008中计算代码度量值
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET处理HTTP请求
  • .NET企业级应用架构设计系列之开场白
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [ NOI 2001 ] 食物链