西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > linux教程 >

从零开始nginx配置

时间:2016-10-15 20:37来源:未知 作者:好模板 点击:
在Ubuntu14中安装好nginx,版本为1.4.6。 要了解nginx的配置,我喜欢从默认的配置开始。默认安装好的nginx的配置位于/etc/nignx目录下。 从默认的nginx.conf开始 nginx.conf的默认配置(去掉注解掉

在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/*; 
在sites-enabled 目录下的配置文件才能够真正被用户访问,可以将nginx配置放在此目录底下;而默认的只有一个default。conf.d中默认没有任何内容,如果你想要添加多个站点,也可以把配置放在该文件下。

以上的配置中包含了 全局设置 、 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中的配置。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容