在Ubuntu14中安装好nginx,版本为1.4.6。 要了解nginx的配置,我喜欢从默认的配置开始。默认安装好的nginx的配置位于/etc/nignx目录下。 从默认的nginx.conf开始nginx.conf的默认配置(去掉注解掉的部分)如下: user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } 上面默认的配置文件中,最吸引人的就是3个include了: include /etc/nginx/mime.types; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
而 include /etc/nginx/mime.types; 能猜到是配置mime的,不是我们要了解的重点。剩下的 include /etc/nginx/conf.d/*.conf; 和 include /etc/nginx/sites-enabled/*; 以上的配置中包含了 全局设置 、 events设置 和 http设置 。除此之外,还会有 server设置 、 location设置 和 upstream设置 。 user 指定了Nginx Worker进程运行用户以及用户组。 worker_processes 设置nginx的进程数,最好和CPU的数量一致。 pid 用来指定进程id的存储文件位置。 events 设置了nginx的工作模式和工作模式及连接数上限。 http 负责HTTP服务器相关属性的配置。 该文件可以先了解到这里,让我们先看下最为耀眼的include的内容。 sites-enabled中的default配置在sites-enabled中,现在暂时只有一个default文件。打开default,整理后如下代码: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } } 这一段代码是配置一个虚拟主机的。一个大型的网站通常会有很多的站点,有各自的服务器提供相应的服务,在nginx中我们可以通过虚拟主机的概念来将这些不同的服务配置隔离,这就是上面配置中的server的含义。 listen 用于指定虚拟主机的服务端口。 default_server 指的是如果有其他http请求的host在nginx中不存在设置的话那么就用这个server的配置来处理。比如我们去访问 127.0.0.1 那么也会落到这个server来处理。 root 表示在这整个server虚拟主机内,web的根目录。 server_name 用来指定IP地址或者域名,多个域名之间用空格分开。 这里的server_name是和客户端http请求中的host行进行匹配的。 location 用来匹配请求的路径。location是支持正则表达式的,这里的 / 匹配所有的请求,也就是说 /xxx和/yyy都会进行匹配到。try_files意思是nginx会按照接下来的顺序去访问文件,将第一个匹配的返回。 conf.d中的配置在该目录下也是可以进行虚拟主机的配置的,配置的方法同default中的配置。 (责任编辑:好模板) |