侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

初识nginx

2023-11-03 星期五 / 0 评论 / 0 点赞 / 49 阅读 / 3302 字

###背景一直在使用nginx作为服务器,但是一直不知道其原理,从来都是复制粘贴,今天看到一篇文章不错,整理了一下,作为入门吧,主要只是说配置文件的###配置文件一般nginx安装好了以后,会有一个总

###背景一直在使用nginx作为服务器,但是一直不知道其原理,从来都是复制粘贴,今天看到一篇文章不错,整理了一下,作为入门吧,主要只是说配置文件的

###配置文件

一般nginx安装好了以后,会有一个总的配置文件,我的是在nginx

里面是这样的

user root owner;worker_processes 1;error_log /usr/local/var/logs/nginx/error.log debug;pid /usr/local/var/run/nginx.pid;events {   worker_connections 256;}http {   include mime.types;  default_type application/octet-stream;  log_format main '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$http_x_forwarded_for" $host $request_time $upstream_response_time $scheme ' '$cookie_evalogin';  access_log /usr/local/var/logs/access.log main;  sendfile on;  keepalive_timeout 65;  port_in_redirect off;  include /usr/local/etc/nginx/sites-enabled/*; }

其实nginx主要的核心功能,就是,解析一个url,去响应这个url是做什么的,即定义一系列的虚拟服务器(Virtual Servers)控制对来自特定域名或者 IP 的请求的处理。

它是由不同的模块组成的,这些模块由配置文件中知道的指令控制,指令分为简单指令和块指令,这是什么意思呢,简单质量就是一个以;结尾的,类似上面的include main.types;这一个,有key和value,而指令块就是一堆指令的集合,用大括号({和})包围,如果指令快大括号中包含其他指令,则称改指令未上下文文,好像上面的http###静态内容Web 服务器一个重要的功能是服务静态文件(图像或静态HTML页面)。例如,Nginx 可以很方便的让服务器从/data/www 获取 html 文件,从/data/images获取图片来返回给客户端,这只需要在http块指令中的server块指令中设置两个location块指令。简单来说,就是给url定义好文件的地址,可以从url中准确分析并找到需要的文件

首先,创建 /data/www 目录,并放入 index.html,创建 /data/images 目录并在其中放置一些图片。

接下来,打开配置文件。 创建一个 server 块:

http {    server {    }}

通常,配置文件可以包括多个server块,它们以端口和服务器名称来区分,当nginx决定某一个server处理请求后,它将请求头中的URL金额Server块中的location块进行对比。

加入location块指令对server中:

location / {    root /data/www;}

上面的 location 块指定 / 前缀与请求中的 URI 对比。对于匹配的请求,URI 将被添加到 root 指令中指定的路径,即 /data/www,以此形成本地文件系统的路径,如访问http://localhost/bog/welcome.html,对应服务器文件路径为/data/www/bog/welcome.html。 如果 URI 匹配多个 location 块,Nginx 采用最长前缀匹配原则(类似计算机网络里面的IP匹配), 上面的 location 块前缀长度为 1,因此只有当所有其他 location 块匹配时,才使用该块。

广告 广告

评论区