nginx(一) の 入门解析
OSI 模型的前三层
-
应用层: 每一个应用程序自定义的协议
-
表示层: 数据的压缩与解压缩。图片的编码与解码
-
会话层:
会话管理(session)
和网络验证
。包括断点续传和服务器验证用户登录等。比如访问淘宝网页和他的子网页无需重复登录。
nginx 作用
-
提供静态网页服务
-
提供多个站点,多个域名的网页服务
-
提供反向代理功能(结合动态应用程序)
-
提供简单下载服务功能(ftp服务)
-
用户行为分析(日志功能)
nginx 的工作流程架构
-
分为两个
master
进程和n
个worker
进程。 -
master
是管理者,worker
是干活的 -
master
根据配置文件,决定worker
的数量 -
当有
client
发送来请求时,worker
之间相互竞争,获胜者与client
建立连接并响应请求
nginx 的模块
命令 nginx -V
查看nginx
中包含哪些模块。比如你要接受 https
请求,那么就要安装 https
对应的模块。
nginx 配置
user www-data; # 用户名称
worker_processes 4; # 和 cpu 个数保持一致,工作进程,对应的是 master 进程
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
use epoll; # 选择内核模式
worker_connections 1024; # 每个进程处理的最大连接数
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on; # 打开零拷贝;
tcp_nopush on; # 请求要积累到一定的数量才会发送;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types; # 设置文件的传输类型
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log; # 请求日志存放地址
error_log /var/log/nginx/error.log; # 错误日志存放地址
##
# Gzip Settings
##
gzip on; # 开启压缩功能
include /etc/nginx/conf.d/*.conf; # 配置文件
include /etc/nginx/sites-enabled/*; # 静态文件
# server 就相当于是一个服务;
server {
listen 88;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location /50x.html {
root html;
}
}
}
nginx 管理命令
nginx # 启动 nginx
nginx -t # 检车 nginx.conf 语法
nginx -s reload # 从新读取 nginx.conf
nginx -s stop # 快速关机,停止nginx ,相当于 kill -15 nginx
nginx -s quit # 优雅关闭
注意点:
用什么命令启动的,就用什么命令去管理 systemctl
和 nginx -s
这两个命令不要混着用。
nginx 配置静态服务器和虚拟主机
静态文件目录
www
├── w1
│ └── w1.txt
├── w2
│ └── w2.txt
├── w3
│ └── w3.txt
└── w4
└── w4.txt
配置文件目录
conf.d/
├── w1.conf
├── w2.conf
└── w3.conf
根据端口号区分服务
w1的服务
server {
listen 81; # 端口号
server_name localhost; # 虚拟主机路由
root /home/peng/www/w1; # 存放静态文件的路径
index w1.txt; # 主启动文件
}
根据域名区分区分服务
本地域名地址
192.168.50.164 w3.cn
192.168.50.164 w4.cn
nginx
配置
server {
listen 80;
server_name w3.cn;
root /home/peng/www/w3;
index w3.txt;
}
参考资料
https://www.bilibili.com/video/BV1m34y1p7EC?p=5&share_source=copy_web&vd_source=80cf96a12f63a1720dfc645c2eb041c0
https://www.bilibili.com/video/BV1yS4y1N76R?share_source=copy_web&vd_source=80cf96a12f63a1720dfc645c2eb041c0