本文共 1572 字,大约阅读时间需要 5 分钟。
安装与启动
安装完成后,通过curl测试访问是否正常,确保防火墙设置正确。基础命令
默认启动:./sbin/nginx指定配置文件启动:./sbin/nginx -c /tmp/nginx.conf快速停止:./sbin/nginx -s stop优雅停止:./sbin/nginx -s quit热装载配置:./sbin/nginx -s reload日志重开:./sbin/nginx -s reopen配置检查:./sbin/nginx -t 进程结构
日志机制
访问日志存储在logs/access.log,记录客户端地址、时间、请求状态等信息。 处理机制
基于io多路复用,采用异步非堵塞模型。每个worker为单线程,多核环境下通过accept_mutex互斥锁分配请求。常用配置案例
events { worker_connections 1024; }http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root html; index index.html index.htm; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }} 配置优化
动静分离:location /static { alias /usr/local/static/;}location ~* \.(gif|png|jpg|css|js) { alias /usr/local/static/;} 防盗链:
location ~* \.(gif|png|jpg|css|js) { valid_referers none blocked *.idea.com; if ($invalid_referer) { return 403; } root /usr/local/static/;} 负载均衡
upstream backend { server 192.168.43.191:8080 weight=5 fail_timeout=10s; server 192.168.43.191:8089 weight=5 fail_timeout=10s;} 代理配置
location =/baidu.html { proxy_pass http://www.baidu.com;} 日志格式
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 logs/access.log main;
通过以上配置,Nginx能够高效处理高并发请求,实现动静分离、反向代理、负载均衡等功能。
转载地址:http://ezte.baihongyu.com/