nginx-配置文件

本文介绍了nginx配置相关内容。可通过nginx命令的 -t 选项查看配置文件地址,阐述了配置文件结构。还说明了如何在配置文件中进行代理静态资源、作为代理服务器以及作为FastCGI代理的设置,给出了相应的配置示例和规则。

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

先附上一本nginx的,感谢柳公子的翻译。

nginx的功能在配置文件中配置,查看配置文件地址可以使用nginx命令的-t选项

配置文件的结构

在这里插入图片描述
从左到右是包含关系,从上到下是并列关系。

代理静态资源

在配置文件中创建一个server块(当然在http块内部,不声明端口时默认为80):

server {
    location / {
        root /data/www;
    }

    location /images/ {
        root /data;
    }
}

这段代码产生的代理规则如下:

源请求代理地址
http://localhost/images/example.png/data/images/example.png
http://localhost/some/example.html/data/www/some/example.html

可以看出,路径前面的地址会被root代替,从而生成代理地址。

作为代理服务器

在配置文件中创建一个新的server块:

server {
    listen 8080;
    root /data/up1;

    location / {
    }
}

端口8080,代理root是/data/up1。
注意,如果location块没有指定root,则默认使用server块的root

首先修改默认80端口的server块如下:

server {
    location / {
        proxy_pass http://localhost:8080;
    }

    location /images/ {
        root /data;
    }
}

继续修改第二个location块如下:

location ~ \.(gif|jpg|png)$ {
    root /data/images;
}

现在默认80端口的server块是这个样子的:

server {
    location / {
        proxy_pass http://localhost:8080/;
    }

    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}

所有图片请求会被代理到/data/images目录,而其他请求则会代理到http://localhost:8080/服务(注意最后有个/)。

作为FastCGI代理

server {
    location / {
        fastcgi_pass  localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING    $query_string;
    }

    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}

将proxy_pass指定换成fastcgi_pass指令,根据具体的语言替换SCRIPT_FILENAME和QUERY_STRING 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值