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

【NGINX的学习】

一.nginx简介

1.什么是 nginx 和可以做什么事情


        Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2.Nginx 作为 web 服务器

        Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。

3.正向代理

        Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。 正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。

  • 简单一点:通过代理服务器来访问服务器的过程 就叫 正向代理。
  • 需要在客户端配置代理服务器进行指定网站访问
4.反向代理

        反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。
我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。

5.负载均衡

        增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负 载均衡

        客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服 务器处理完毕后,再将结果返回给客户端。

二.nginx的配置

1.部署nginx

[root@server ~]# setenforce  0           [root@server ~]# systemctl stop  firewalld[root@server ~]# systemctl disable  firewalld[root@server ~]# yum  install  nginx  -y[root@server ~]# nginx  -V  # 查看版本,编译器、配置参数等信息[root@server ~]# systemctl start  nginx   # 启动httpd[root@server ~]# systemctl enable  nginx  # 设置开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.[root@server ~]# systemctl status  nginx    # 查看状态,q键退出查看[root@server ~]# ps  -ef  |  grep  nginx  # 查看进程
root        1690       1  0 13:57 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx       1691    1690  0 13:57 ?        00:00:00 nginx: worker process
nginx       1692    1690  0 13:57 ?        00:00:00 nginx: worker process
root        1726    1510  0 14:00 pts/0    00:00:00 grep --color=auto nginx# 测试,Windows中打开浏览器输入服务器IP地址

2.nginx自带命令

nginx    # 启动nginxnginx   restart  # 重启服务nginx  -s  reload  # 重新加载配置文件nginx  -s  stop    # 强行停止服务nginx  -s  quit    # 优雅停止服务,即所有请求处理完后退出服务nginx  -v         # 查看版本号nginx -t         # 检查配置文件的语法错误,无错返回ok

3.nginx的配置文件

[root@server ~]# cd  /etc/nginx     # 服务目录
[root@server nginx]# yum  install  tree  -y
[root@server nginx]# tree
.
├── conf.d                 # 子配置文件目录
├── default.d           
├── fastcgi.conf
├── fastcgi.conf.default
├── fastcgi_params
├── fastcgi_params.default
├── koi-utf               #  KOI8-R 编码(俄语)转换的映射文件
├── koi-win               # #  KOI8-R 编码(俄语)转换的映射文件
├── mime.types             # 配置支持的媒体类型
├── mime.types.default     # 样例文件
├── nginx.conf             # 主配置文件
├── nginx.conf.default     # 样例文件
├── scgi_params            
├── scgi_params.default
├── uwsgi_params
├── uwsgi_params.default
└── win-utf                #  KOI8-R 编码(俄语)转换的映射文件2 directories, 15 files
访问日志:/var/log/nginx/access.log
错误日志:/var/log/nginx/error.log
网页默认目录:/usr/share/nginx/html

4.主要配置文件

[root@server ~]# vim  /etc/nginx/nginx.conf
# main配置段(全局配置)
user nginx;              # 运行的账户,默认即是nginx,可以不进行设置
worker_processes auto;   # worker进程数,根据硬件调整,通常等于CPU数量或者2倍于CPU
error_log /var/log/nginx/error.log;   # 错误日志存放目录
pid /run/nginx.pid;     # 指定运行Nginx master主进程的pid文件存放路径# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;  #  导入的外部文件位置# events配置段,性能模块设置,其中可以设置时间处理模式等
events {     use epoll;     # 使用epoll事件驱动模型,但不推荐配置它,让nginx自己选择worker_connections 1024;   # 每个进程的最大连接数量(并发数)accept_mutex on # 默认是off关闭的,这里推荐打开
}# http配置段,包含全局块和server块,使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置
http {  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  /var/log/nginx/access.log  main;   # 访问日志存储位置sendfile            on;   # 高效文件传输模式,默认开启tcp_nopush          on;   # 性能优化参数,数据是否立刻发送tcp_nodelay         on;   # 性能优化参数,小数据包是否延迟发送keepalive_timeout   65;   # 超时时间types_hash_max_size 4096; # 性能优化参数,影响散列表的冲率include             /etc/nginx/mime.types;      # 可解析的静态资源类型default_type        application/octet-stream;   # 默认文件类型# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;   # 加载子配置项# server配置段,虚拟主机设置server {  listen       80;        # 监听IPV4端口listen       [::]:80;   # 监听IPV6端口server_name  _;         # 访问的域名root         /usr/share/nginx/html;    # 网页默认目录# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;   # 子配置文件存储路径# location配置段,一般用来匹配不同的URI请求location / {root   /usr/share/nginx/html;     # 相对路径网站根目录alias  /usr/share/nginx/html/;    # 绝对路径网站根目录index  index.html index.htm;      # 默认首页文件deny 172.168.22.11;       # 禁止访问的ip地址,可以为allallow 172.168.33.44;     # 允许访问的ip地址,可以为allautoindex  on;           # 开启目录文件列表autoindex_exact_size on;   # 显示出文件的确切大小,单位是bytesautoindex_localtime on;    # 显示的文件时间为文件的服务器时间charset utf-8,gbk;         # 避免中文乱码auth_basic "xxxx";   # 加密网页验证时的提示信息auth_basic_user_file   /路径/文件名;   # 加密网页使用的密码验证文件}error_page 404 /404.html;        # 404时返回给客户端的页面location = /40x.html {}error_page 500 502 503 504 /50x.html;  # 50x错误返回给客户端的页面location = /50x.html {}}# Settings for a TLS enabled server.   # https虚拟主机定义
#
#    server {
#        listen       443 ssl http2;    # 监听的IPV4端口
#        listen       [::]:443 ssl http2; 
#        server_name  _;
#        root         /usr/share/nginx/html;   # 网页默认目录
#
#        ssl_certificate "/etc/pki/nginx/server.crt";   # 证书存储路径
#        ssl_certificate_key "/etc/pki/nginx/private/server.key"; # 密钥存储
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }}

http://www.dtcms.com/a/597645.html

相关文章:

  • 重庆南坪网站建设公司学校网站总务建设
  • C++ yjx
  • 网站开发原型 图站长工具星空传媒
  • 【C++进阶】C++中的继承
  • 【大模型量化】Qwen3-VL + Lora监督微调 + 4bit量化 | VLM模型
  • 哪个网站最好微信开发者文档小程序
  • 免费黄页网站互联网众筹网站怎样建设
  • Math for Grade 1 of junior high school
  • 卓手机建网站有没有专门找装修公司的网站
  • Goer-Docker系列-1-Dockerfile的构建速度优化
  • 【20251029】如何在Ubuntu虚拟机部署本地sql,redis
  • SQL注入之SQLMAP绕过WAF(安全狗)
  • 西安注册公司网站黄页是什么东西
  • BFF 相关学习
  • 【SAA】SpringAI Alibaba学习笔记(三):ChatModel对话记忆存储和持久化
  • Excalidraw绘图软件
  • 苹果ios系统共享的ipa文件应用app签名怎么用?
  • 潍坊网站开发培训电影网站空间配置
  • 鸿蒙ef_crypto-加密组件-SM2Sync
  • windows 下的paddle ocr 部署
  • 融合之道:电科金仓数据库的“五化一体“革命
  • 微楼书网站建设全球推广
  • AR眼镜基于上下文智能识别:电力运维高效规范操作应用方案|阿法龙XR云平台
  • Linux 文件基本属性
  • 广州做外贸网站dw网页制作成品12页
  • 甘肃省两学一做专题网站哔哩哔哩网页入口
  • PostgreSQL 监控告警实战:从 “高并发卡顿才发现” 到 “提前 1 小时预警” 的守护指南
  • 利用影视网站做cpawordpress在线安装插件在哪里
  • Java 对象分配过程深度解析
  • Java 大视界 -- Java 大数据在智能医疗影像数据压缩与传输优化中的技术应用