nginx入门(3):静态服务搭建

nginx官方文档地址:http://nginx.org/en/docs/beginners_guide.html#static

  1. web服务的一个重要任务就是对外提供文件服务。下面是一个例子,根据需求,对外提供两个不同目录下的本地文件。需要对配置文件进行编辑,在http中配置包含两个location的server块。
  2. 创建文件目录/pathto/data/www,并向其中放入一个包含任何文本内容的index.html文件;创建文件目录/pathto/data/images并向其中放入一些图片文件。
  3. 打开配置文件,默认配置文件通常包含几个被注释掉的server块配置样例。要做的就是打开注释,并且开始一个新的server块。通常情况下,配置文件中会包含多个以端口号(port)和服务名(server names)做区分的不同的server块,这些server块监听着各自端口号和服务名上的请求。(在yum安装中,一般server写在单独文件中,在主配置文件中通过include包含多个server文件)
    http {
        server {
        }
    }
  4. 一旦nginx确定了那个server处理一个请求,它将会拿请求头中的URL对server中的每个location指令进行正则表达式匹配。在server块中添加如下location块。(当然了pathto是本地的真实路径)
    location / {
        root /pathto/data/www;
    }
  5. location块指定的"/"前缀和请求中的URL进行比较。如果匹配成功,URL将会被加入添加到root指令指定的路径中,(这里是/pathto/data/www),去生成请求文件在本地文件系统中的路径。如果有多个location块,nginx优先选择长前缀进行匹配。上面的location块中,前缀的长度是最短的,所以其他所有较长前缀的location匹配失败后(如果有的话),这个location才会被使用。
  6. 在下面的配置中,nginx会优先为请求匹配  /images/块(虽然location /也能匹配,但是它较短)。配置如下:
    server {
        location / {
            root /data/www;
        }
    
        location /images/ {
            root /data;
        }
    }
  7. 此时已经是一个监听80端口的本地机器可访问的配置。对以/images/开头的URLs的请求,服务器将会发送/topath/data/images路径下的文件。例如,http://localhost/images/example.png请求,nginx将会发送/topath/data/images/example.png文件。如果文件不存在,nginx将会发送相应指明404错误。同理,不以/image/为开头的URLs的请求,将会被map到/pathto/data/www路径下。例如,对http://localhost/some/example.html请求将会发送/pathto/data/www/some/example.html文件。
  8. 为了使配置文件生效,需要执行
    nginx -s reload

    对master进程发送信号。
    注:如果nginx不能按照预期的那样工作,需要查看access.log和error.log日志文件。日志文件路径在配置文件中,由access_log指令和error_log指令配置。一般为 /usr/local/nginx/logs or /var/log/nginx.

原文地址:https://www.cnblogs.com/Lissssssssss/p/8846719.html