Nginx小知识

154 阅读2分钟

这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战

WEB 服务器

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

正向代理

需要在客户端配置代理服务器进行指定网站访问

反向代理

暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

负载均衡

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

配置文件

  1. 全局块:配置服务器整体运行的配置指令, 比如 worker_processes 1;工作进程数,越大,可以支持的并发数量就越多

  2. events 块:影响 Nginx 服务器与用户的网络连接,比如 worker_connections 1024; 支持的最大连接数为 1024

  3. http 块

    • http 全局块
    • server 块
user  nginx;
worker_processes  1;  #工作进程数,越大,可以支持的并发数量就越多

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;  #支持的最大连接数
}


http {
    include       /etc/nginx/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"';

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

root实例

root的处理结果是:root路径+location路径

如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。

location ^~ /t/ {
     root /www/root/html/;
}

alias实例

alias的处理结果是:使用alias路径替换location路径

location /img/ { 
    alias /var/www/image/; 
}