nginx配置(二)

本文详细介绍了nginx的配置,包括自定义nginx版本信息、http_core_module的使用,以及root、alias、location、access、auth_basic等核心配置。还讨论了error_page、try_files、keepalive、autoindex等功能,并涉及nginx的状态页、第三方模块echo-nginx-module和变量的使用,最后提到了日志管理和favicon.ico的处理。

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

nginx 版本信息、http_core_module

自定义 nginx 版本信息

  1. 如果想自定义响应报文的nginx版本信息,需要修改源码文件,重新编译
  2. 如果server_tokens on,修改 src/core/nginx.h 修改第13-14行,如下示例
    #define NGINX_VERSION “1.68.9”
    #define NGINX_VER “wanginx/” NGINX_VERSION
  3. 如果server_tokens off,修改 src/http/ngx_http_header_filter_module.c
    第49行,如下示例:
    static char ngx_http_server_string[] = “Server: nginx” CRLF;
    把其中的nginx改为自己想要的文字即可,如:wanginx

ngx_http_core_module

tcp_nodelay on | off;  // 在keepalived模式下的连接是否启用TCP_NODELAY选项,即Nagle算法. 当为off时,延迟发送,每发送一个包就需要确认ACK,才发送下一个包;默认On时,不延迟发送,多个包才确认一次
tcp_nopush on | off ; // 在开启sendfile,on时合并响应头和数据体在一个包中一起发送
sendfile on | off; // 是否启用sendfile功能,在内核中封装报文直接发送,默认Off
charset charset | off; //是否在响应报文中的Content-Type显示指定的字符集,默认off不显示
server_tokens on | off | build | string; // 是否在响应报文的Server首部显示nginx版本
// 与套接字相关的配置:
 server { ... }
 // 配置一个虚拟主机
 server {
 	listen address[:PORT]|PORT|unix:/PATH/TO/SOCKET_FILE;
 	server_name SERVER_NAME;
 	root /PATH/TO/DOCUMENT_ROOT;
 }

listen port;

 default_server  // 设定为默认虚拟主机,无法匹配虚拟主机时使用
 ssl //限制仅能够通过ssl连接提供服务
backlog=number //超过并发连接数后,新请进入后援队列的长度
 rcvbuf=size 接收缓冲区大小
sndbuf=size 发送缓冲区大小
(1) 基于port;
listen PORT; 指令监听在不同的端口
(2) 基于ip的虚拟主机
listen IP:PORT; IP 地址不同
(3) 基于hostname server_name fqdn; 指令指向不同的主机名

server_name name ...;

虚拟主机的主机名称后可跟多个由空白字符分隔的字符串
(1)  支持*通配任意长度的任意字符
server_name *.magedu.com www.magedu.*
(2) 支持~起始的字符做正则表达式模式匹配,性能原因慎用
 server_name ~^www\d+\.magedu\.com$
说明: \d 表示 [0-9]
(3)  匹配优先级机制从高到低
a  首先是字符串精确匹配 如www.magedu.com 
b 左侧*通配符 如:*.magedu.com
c 右侧*通配符 如:www.magedu.*
d 正则表达式 如: ~^.*\.magedu\.com$
e default_server

新建一个 pc web 站点

// 主配置文件 /etc/ntinx/nginx.conf中的 httpd{ include /etc/nginx/conf.d/*.conf; }

cd /etc/nginx/conf.d/
vim pc.conf
server {
    listen 80;
    server_name www.pc.com;
    location / {
        root /data/pc;
    }
}
mkdir /data/pc
echo pc web > /data/pc/index.html

新建一个 mobile web 站点

vim mobile.conf
server {
    listen 80;
    server_name www.mobile.com;
    location / {
        root /data/mobile;
    }
}
mkdir /data/mobile
echo mobile web > /data/mobile/index.html
nginx -s reload

root、alias、location、access、auth_basic

root 与 alias

vim pc.conf
server {
    listen 80;
    server_name www.pc.com;
    location / {
        root /data/pc;
    }
    location /about {   // 根目录为 /data/pc/about
        root /data/pc;
        index index.html;
    }
}
mkdir /data/pc/about
echo about > /data/pc/about/index.html
nginx -s reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值