本文共 2707 字,大约阅读时间需要 9 分钟。
Nginx 是一款高性能、稳定且功能强大的 HTTP 和反向代理服务器,也是一款 IMAP/POP3 代理服务器。它广泛应用于负载均衡、静态资源服务器、反向代理以及高并发场景下的内容缓存等场景。以下将从安装、配置到反向代理及负载均衡等方面详细阐述 Nginx 的使用方法。
Nginx 可以通过源码安装,推荐使用以下步骤:
nginx-1.18.0.tar.gz)。tar -zxvf nginx-1.18.0.tar.gz。./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre=../pcre-8.44 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1i
makesudo make install为了方便操作,可在 /usr/bin/ 目录中创建 Nginx 的启动软链接:
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
启动服务器可用 sudo nginx 命令。
Nginx 配置文件通常位于 /usr/local/nginx/conf/nginx.conf,主要包含以下模块:
user:指定 Worker 进程的用户组,默认为 nobody。worker_processes:设置 Worker 进程的数量,根据 CPU 核心数设置 2-4。error_log:指定日志文件,支持多种 loglevel 级别。worker_rlimit_nofile:限制单个进程能打开的文件描述符数目。epoll 工作模式,支持 Linux 平台。worker_connections:设置单个 Worker 进程的最大连接数,建议设置为 1024 或更高。sendfile、tcp_nopush、tcp_nodelay 等。keepalive_timeout:设置客户端连接超时时间。server { listen 80; server_name localhost 192.168.12.10 www.eliwang.top; root /usr/local/nginx/html; index index.html index.htm; charset utf-8;} location / { root /usr/local/nginx/html; index index.html index.php;}location /static/ { alias /var/static/;} ip_hash、weight)。upstream myproject { ip_hash; server 192.168.123.1:80; server 192.168.123.2:80 down; server 192.168.123.3:8080 max_fails=3 fail_timeout=20s; server 192.168.123.4:8080;} proxy_pass http://127.0.0.1:8000;
proxy_pass http://myproject;
proxy_redirect / /newlocation;
proxy_method:改变请求方法(如 GET 转为 POST)。proxy_hide_header:隐藏特定 HTTP 头。proxy_pass_header:允许转发特定 HTTP 头。proxy_pass_request_body:控制请求体转发。upstream my.net { server 192.168.1.100:80 max_fails=1 fail_timeout=300s; server 192.168.1.101:80 max_fails=1 fail_timeout=300s;} ip_hash 算法: upstream my.net { ip_hash; server 192.168.1.100:80; server 192.168.1.101:80 down;} weight:轮询权重分配。max_fails:设置失败次数阈值。fail_timeout:失败后等待时间。proxy_cache 模块。gzip 模块。limit_req_zone 控制访问频率。通过以上配置,Nginx 能够成为高效的反向代理、负载均衡服务器,适用于多种场景,包括 Web 服务、视频流媒体、静态资源托管等。
转载地址:http://sjduz.baihongyu.com/