Nginx入门指南_nginx 入门指南

首先,创建一个文件夹/data/www 把有内容的index.html 文件放到里面。并且创建/data/images文件夹,在里面放一些图片。

第二步,打开配置文件。默认的配置文件已经包含了几个server块指令,但是被注释了,现在把这些server块指令放开注释。

http {
  server {
  }
}

通常,配置文件包含几个server块指令,这些块指令通过不同的服务名字(server names)分发监听(distinguished listen)在不同的端口。一旦nginx决定哪个服务器处理请求,它就会根据server块指令中定义的location指令的参数匹配请求头中指定的URI。

在server块指令中添加location指令:

location / {
  root /data/www;
}

这个location块详述了与URI请求相匹配的“/”前缀。如果匹配到请求,这个 URI 会被转到 root 指令的路径。,也就是说,所有请求文件都会直接请求到本地文件系统的/data/www路径。如果有多个匹配的location块,nginx会选择最长前缀的那个。上面提供的location块是长度只有1的最短前缀,因此,其它所有的location块都匹配失败的话,这个location块指令才会被使用。

下一步,添加第二个location块:

location /images/ {
  root /data;
}

这个会匹配以/images开头的请求(/也会匹配请求,只不过这个前缀更短)。

server块指令配置结果如下:

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

一个正常的服务器配置文件监听在80端口上,并且可以在本机上成功访问http://localhost/。以/images/开头请求的URI地址,服务器会从/data/images文件夹下面返回对应的文件。例如,请求/data/images/example.png这个文件,nginx服务器会返回http://localhost/images/example.png。如果服务器没有这个文件会返回404 错误。不是以/images/开头的请求,就会被映射到/data/www 文件夹。例如, 请求nginx/data/www/some/example.html,服务器会响应http://localhost/some/example.html 这个文件。

为了应用一个新的配置文件,如果nginx还没有启动,就直接启动nginx服务器,如果已经启动,直接使用下面指令发送到nginx的主进程中,如下: 如果nginx尚未启动,则启动nginx,或者向nginx的主进程发送重新加载信号,执行:

nginx -s reload

一些情况下( ***),没有达到预期的效果,你可以尝试通过查看access.log和 error.log (通常在/usr/local/nginx/logs或者/var/log/nginx) 日志文件来找原因。

设置一个简单的代理服务器 使用最频繁的是设置一个代理服务器,也即接受请求,并把所有的请求转到被代理的服务器上,获取到响应之后再发送到客户端。

我们能配置一个基本的代理服务器,它的 ***图片文件请求和其它的全部请求都会被发送到代理服务器上。本例中,两个服务器定义在一个nginx实例。

首先,通过在配置文件中添加server块指令的方式来定义一个代理服务器。

server {
  listen 8080;
  root /data/up1;
  location / {}
}

这个简单的服务器会监听8080端口(之前, 由于使用了标准端口80,因此尚未指定listen指令)并且映射所有的请求到本地文件系统的/data/up1文件夹。创建这个文件夹并放一个文件index.html。需要注意的是 server上下文就是这个根指令的位置。例如 当选择用于提供请求的location块指令不包括根指令时,使用这样的根指令(root /data/up1)。

接下来,使用上一节中的服务器配置,并将其修改为代理服务器配置。在第一个位置块中,使用参数中指定的代理服务器的协议、名称和端口(在我们的示例中,它是http://localhost:8080)放置proxy$ {
  root /data/images;
}


使用正则表达式~来匹配所有以 .gif, .jpg, 和.png结尾的URIs,响应的请求会被映射到/data/images文件夹中。


nginx在匹配location请求的时候,首先检查location 指令的特殊前缀,最长前缀(),最后检查正则。如果这个请求匹配到正则,ngixn会选中这个location,否则,会跳过找到最前的一个()。


代理服务器的配置结果看起来就是这样子:



server {
  location / {
    proxy_pass http://localhost:8080/;
  }
  location ~ .(gif|jpg|png)$ {
    root /data/images;
  }
}


这个服务器将会过滤后缀为 .gif, .jpg, 或者 .png 的然后分发到/data/images文件夹(通过在root中添加URI参数) ,并且其它的请求会被代理到上面的server配置()中http://localhost:8080/。


为了使用最新的配置,就像前面一样,向nginx发送一个reload信号。


这里有更多的 more 指令可以使用在代理连接配置中。


启用 FastCGI 代理 nginx也能把请求路由到FastCGI服务上,它运行程序使用各种框架和编程语言(如PHP)。


使用FastCGI服务器的最基本的nginx配置包括使用fastcgipass 指令而不是proxypass指令,以及fastcgiparam指令来设置传递给FastCGI服务器的参数。假设FastCGI服务在localhost:9000可以访问,以上面一部分的配置为基础,替换proxypass指令为fastcgipass,并且修改参数为 localhost:9000。在PHP中, SCRIPTFILENAME参数为定义的脚本名称 QUERY\_STRING参数为被请求的参数\*\*,最终的配置如下:



server {
  location / {
    fastcgi_pass  localhost:9000;
    fastcgi_param SCRIPT_FILENAME  d o c u m e n t r o o t document_root documentrootfastcgi_script_name;

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

上大数据知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值