日志

参考连接

注意点

  1. 配置文件需要 log_format 设置日志格式和 access_log 设置日志保存位置
  2. log_format 只能http 节点下定义,默认定义了 main 这个格式

    1. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    2. '$status $body_bytes_sent "$http_referer" '
    3. '"$http_user_agent" "$http_x_forwarded_for"';
  3. access_log 可以在 http 节点下和 server 节点下定义


include 多个域名配置文件

  • 在主配置文件中,使用 include <dir_name>/*.conf 引入 <dir_name> 目录下的配置文件
  • 目的是区分各个域名的配置文件,方便后期管理

nginx.conf

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. # 日志格式
  14. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  15. '$status $body_bytes_sent "$http_referer" '
  16. '"$http_user_agent" "$http_x_forwarded_for"';
  17. #access_log logs/access.log main;
  18. sendfile off;
  19. #tcp_nopush on;
  20. #keepalive_timeout 0;
  21. keepalive_timeout 65;
  22. gzip on;
  23. # 设置应用服务器负载均衡 关键字 upstream
  24. upstream application_server{ # 名称随意
  25. server 127.0.0.1:8080 weight=1; # 地址如果不是80/443需要填写 weight表示请求权重
  26. # server 127.0.0.1:8081 weight=1;
  27. # keepalive 30; # 后面做与应用的长连接用
  28. }
  29. # 加载当前文件夹下 otherHost文件夹中的配置文件中的 server 节点
  30. include otherHost/*.conf;
  31. }

local.conf

  1. # 本地节点
  2. server {
  3. # 监听端口号
  4. listen 80;
  5. # 服务名
  6. server_name localhost;
  7. # 编码格式
  8. charset utf-8;
  9. # 日志保存路径 以及 日志内容格式 (在 http 节点下有定义一个 log_format main)
  10. access_log logs/host.access.log main;
  11. #location 都是访问路径
  12. location / {
  13. # 根目录
  14. root D:/dev_env/nginx-1.16.1/static/templates;
  15. # 默认打开文件
  16. index login.html login.htm;
  17. }
  18. # 动态数据转发
  19. location /api/ {
  20. # 转发 application_server 是在 http 节点下的属性
  21. proxy_pass http://application_server; # 命中该location时,将请求发给上面定义的负载均衡
  22. proxy_set_header Host $http_host:$proxy_port; # 待定
  23. proxy_set_header X-Real-IP $remote_addr; # 设置客户端真正请求客户端
  24. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置该请求是由 nginx 转发的
  25. }
  26. # 错误页面跳转
  27. location /error/ {
  28. alias D:/dev_env/nginx-1.16.1/static/error/;
  29. }
  30. # 静态资源跳转
  31. location /static/ {
  32. # alias 表示代替
  33. alias D:/dev_env/nginx-1.16.1/static/;
  34. }
  35. }
  • nginx.conf 就通过 include 加载了 local.conf 中的 server 节点