nginx--自定义日志&&跳转&&长连接&&文件缓存&&状态页

本文详细解读了如何在Nginx配置中自定义日志,包括错误日志和访问日志的设置,以及使用try_files进行路径匹配。同时介绍了长连接配置、文件缓存策略和状态页功能,如active_connections监控等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义日志服务

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf 
server {
  listen 80;
  server_name www.fxq.com;
  error_log /data/nginx/logs/fxq-error.log info;
  access_log /data/nginx/logs/fxq-access.log main;
  location / {
     root /data/nginx/html/pc;
     index index.html;
  }
}

 要打开main

 生成日志

 页面不存在跳转服务

直接跳转到首页

[root@localhost ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
  listen 80;
  server_name ww
### 如何配置 Nginx 的 `nginx.conf` 文件进行项目部署 #### 配置基础结构 为了使 Nginx 正确运行并提供服务,基本的 `nginx.conf` 结构应当被定义得清晰而合理。通常情况下,该文件由全局块、events 块以及 http 块组成[^1]。 ```nginx user nginx; worker_processes auto; 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; } ``` 此段代码展示了典型的 `nginx.conf` 设置方式,其中包含了日志记录路径、工作进程数设定等内容,并通过最后一条语句引入其他特定站点或应用所需的额外配置文件。 #### Docker 中挂载自定义配置文件 当利用 Docker 容器化技术来部署基于 Nginx 的 Web 应用程序时,则可以通过 `-v` 参数指定宿主机上的某个目录映射至容器内的相应位置,从而实现外部管理内部使用的静态资源和服务端口绑定等功能。对于 `nginx.conf` 来说,可以这样做: ```bash docker run --privileged --name my-nginx \ -it -p host_port:container_port \ -v /path/to/local/nginx.conf:/etc/nginx/nginx.conf:ro \ -d nginx ``` 这里假设 `/path/to/local/nginx.conf` 是本地机器上保存有修改后的 Nginx 主配置文件的位置;`:ro` 表明只读模式下加载入镜像之中[^2]。 #### Vue.js 项目的特殊需求处理 针对前端框架如 Vue 构建的应用,在生产环境中往往需要特别定制化的反向代理规则以便更好地支持单页应用程序 (SPA),即确保所有未匹配到实际存在的 HTML/CSS/JS 资源请求都能最终导向 index.html 页面而不报错。因此可以在上述提到过的 `/etc/nginx/conf.d/default.conf` 或者同级目录下的任意 `.conf` 文件里加入如下片段[^3]: ```nginx server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; # SPA 所打包出来的静态文件所在路径 try_files $uri $uri/ /index.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } ``` 这段配置使得任何找不到对应物理文件的 URL 请求都会返回根页面 (`index.html`) ,进而让前端路由接管后续逻辑跳转操作。 #### 实现内外网 OSS 访问桥接 如果存在业务场景涉及到将位于企业内网环境中的对象存储系统(Object Storage Service, OSS)对外开放访问权限的需求,那么就需要精心设计一套安全可靠的转发机制。一种可行的方法是在 `nginx.conf` 内添加专门负责此类任务的服务节点描述[^4]: ```nginx upstream oss_backend { server internal_oss_server_ip_address weight=1 max_fails=3 fail_timeout=30s; } server { listen 80; location ~* ^/api/v1/.*\.jpg|png|gif$ { proxy_pass http://oss_backend; add_header Cache-Control "public"; expires 7d; } } ``` 以上实例中,`location` 模式匹配指定了哪些类型的图片资源会被送往上游服务器组 `oss_backend` 进行获取,同时设置了缓存策略以提高性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值