【Nginx】nginx入门

文章目录

一、Web服务器

Web 服务器,一般是指"网站服务器",是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。

Web 服务器,也称为"WWW 服务器"( 英文全写: World Wide Web,翻译成中文:万维网或环球信息网 ),主要功能是"提供网上信息浏览服务"。 WWW 是 Internet(互联网)的多媒体信息查询工具,是 Internet(互联网)上发展起来的服务,也是发展最快和目前使用最广泛的服务。正是因为有了 WWW 工具,才使得近十几年来互联网迅速繁荣发展,用户数量飞速飙升。据最新数据显示,目前全球人口数量达到 76.76 亿人,其中全球"网民"(互联网用户)达到惊人的 43.88 亿。

例如百度就是一个 web 服务器,提供搜索服务。


二、Nginx

Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、 POP3、 SMTP 代理服务器; Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。可以理解 Nginx 是 web 服务器的一种实现。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法=>可以理解为正则表达式 )、Bug非常少的服务,Nginx 启动容易,并且几乎可以做到7*24小时不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级

同时,它的底层是C语言实现的,官方数据测试表明能够支持高达 5w个并发连接数的响应。


三、Nginx的作用

Web服务器

Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、电脑、平板可以访问百度来实现对 web 服务器的访问。


正向代理

正向代理的工作方式

  1. 客户端配置网络设置,将请求发送给正向代理服务器
  2. 正向代理服务器接收到请求后,根据客户端请求的目标地址,代表客户端向目标服务器发送请求
  3. 目标服务器处理请求并发送响应
  4. 正向代理服务器接收到响应后,将其返回给客户端

正向代理的主要功能

  1. 访问控制:正向代理可以根据特定的策略和规则,对客户端的请求进行访问控制,例如限制特定网站的访问或实施身份验证
  2. 隐私保护:正向代理可以隐藏客户端的真实身份和位置,提供一定的匿名性
  3. 缓存:正向代理可以缓存常用的内容,以减少网络流量和提高响应速度
  4. 加速访问:正向代理服务器可以通过压缩、缓存和优化网络连接等方式,加速客户端与目标服务器之间的通信。

反向代理

反向代理 扮演服务器的角色,接收来自客户端的请求,并将其转发到后端服务器,对于用户是无感知的,客户端发送请求,但是不知道哪个服务端收到了请求,客户端只和反向代理进行通信。

反向代理的工作方式

  1. 客户端向反向代理发送请求
  2. 反向代理接收到请求后,根据预先设置的规则,将请求转发到一个或多个后端服务器
  3. 后端服务器处理请求并发送响应
  4. 反向代理接收到响应后,将其返回给客户端

反向代理的主要功能包括

  1. 负载均衡:反向代理可以将请求分发到多个后端服务器,以实现负载均衡,提高系统的性能和可扩展性。
  2. 缓存:反向代理可以缓存静态内容,减轻后端服务器的负载,提高响应速度
  3. 安全性:反向代理可以作为防火墙,保护后端服务器免受恶意请求和攻击
  4. SSL 加密:反向代理可以终止 SSL 连接,解密传入的请求,并将其转发给后端服务器,提供安全的通信

四、CentOS上安装Nginx(以CentOS 7.9为例)

检查宿主机上是否存在Nginx

bash 复制代码
ps -ef | grep nginx

这里我们可以看到机器上并不存在nginx。

安装nginx

💕 配置yum源

bash 复制代码
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

💕 构建缓存

构建缓存的目的是为了后续加速nginx的下载。

💕 通过安装nginx

bash 复制代码
yum install nginx -y

💕 查看并启动nginx

bash 复制代码
#查看nginx是否启动
 
#启动nginx(方式一)
systemctl start nginx
#启动nginx(方式二)
nginx
#关闭nginx
kill PID

💕 nginx调整配置

bash 复制代码
cd /etc/nginx/

查看该文件

bash 复制代码
[root@iZf8z8fcvqy10dpg47hwlxZ conf.d]# cat default.conf 
server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

💕 在浏览器看是否执行成功


相关推荐
sun0077003 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
贰十六4 小时前
笔记:Centos Nginx Jdk Mysql OpenOffce KkFile Minio安装部署
笔记·nginx·centos
吃肉不能购5 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫5 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_312920115 小时前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
学Linux的语莫5 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
黑牛先生6 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku0666 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
安迁岚7 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql