本文摘自PHP中文网,作者(*-*)浩,侵删。

一个重要的Web服务器任务是提供文件(如图像或静态HTML页面)。
根据请求,文件将从不同的本地目录提供:/data/www(可能包含HTML文件)和/ data/images(包含图像)。这将需要编辑配置文件,并使用两个位置块在http块内设置服务器块。 ( 推荐学习:nginx使用 )
首先,创建/data/www目录,并将一个包含任何文本内容的index.html文件放入其中,并创建/data/images目录并在其中放置一些图像。创建两个目录 -
1 2 3 |
|
分别在上面创建的两个目录中放入两个文件:/data/www/index.html 和 /data/images/logo.png,/data/www/index.html文件的内容就一行,如下 -
1 |
|
接下来,打开配置文件(/usr/local/nginx/conf/nginx.conf)。 默认的配置文件已经包含了服务器块的几个示例,大部分是注释掉的。 现在注释掉所有这样的块,并启动一个新的服务器块:
1 2 3 4 |
|
通常,配置文件可以包括服务器监听的端口和服务器名称区分的几个server块。当nginx决定哪个服务器处理请求后,它会根据服务器块内部定义的location指令的参数测试请求头中指定的URI。
将以下location块添加到服务器(server)块:
1 2 3 4 5 6 7 |
|
该location块指定与请求中的URI相比较的“/”前缀。 对于匹配请求,URI将被添加到root指令中指定的路径(即/data/www),以形成本地文件系统上所请求文件的路径。 如果有几个匹配的location块,nginx将选择具有最长前缀来匹配location块。 上面的location块提供最短的前缀长度为1,因此只有当所有其他location块不能提供匹配时,才会使用该块。
接下来,添加第二个location块:
1 2 3 4 5 6 7 8 9 10 |
|
它将是以/images/(位置/也匹配这样的请求,但具有较短前缀,也就是“/images/”比“/”长)的请求来匹配。
server块的最终配置应如下所示:
1 2 3 4 5 6 7 8 |
|
这已经是一个在标准端口80上侦听并且可以在本地机器上访问的服务器( http://localhost/ )的工作配置。 响应以/images/开头的URI的请求,服务器将从/data/images目录发送文件。 例如,响应http://localhost/images/logo.png请求,nginx将发送服务上的/data/images/logo.png文件。 如果文件不存在,nginx将发送一个指示404错误的响应。 不以/images/开头的URI的请求将映射到/data/www目录。 例如,响应http://localhost/about/example.html请求时,nginx将发送/data/www/about/example.html文件。
要应用新配置,如果尚未启动nginx或者通过执行以下命令将重载信号发送到nginx的主进程:
1 2 3 4 |
|
如果错误或异常导致无法正常工作,可以尝试查看目录/usr/local/nginx/logs或/var/log/nginx中的access.log和error.log文件中查找原因。
打开浏览器或使用CURL访问Nginx服务器如下所示 -
完整的nginx.conf文件配置内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
以上就是使用nginx提供静态内容服务的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
怎么在linux系统中以单容器安装nginx+asp.net core
更多相关阅读请进入《nginx》频道 >>