美文网首页
2. 理解Nginx配置文件

2. 理解Nginx配置文件

作者: 白微瑕 | 来源:发表于2020-08-17 02:33 被阅读0次

在杜赛的博客里,部署的各种配置都是直接给出的。作为读者也只是单纯地复制粘贴。下面简单介绍一下关于nginx配置文件的知识。

其中最简明易懂的是这篇 linode配置nginx教程。能看它就不要看我~

所有nginx配置文件都位于/etc/nginx/目录中。主要配置文件是/etc/nginx/nginx.conf,里面是所有站点公用的配置。/etc/nginx/sites-available 里写了可用的每个站点个性化的配置,/etc/nginx/sites-enabled 通过符号链接指定目前所使用的可用配置。

/etc/nginx/conf.d/好像也能放配置文件,我一直没用到不太清楚。

nginx中的配置选项称为directive 指令,也就是配置文件中的一个语句。directive 被组织成 block(块)或称 context(上下文)。context 是一个有名字的大括号,内部可嵌套下一级别的 context。

这是/etc/nginx/nginx.conf。user, worker_processes, error_log, 和 pid 是在所有具体的 context 之外定义的 directive。我们认为它们存在于全局的 main context 中。events 和 http 也处于 main context 中。

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
       . . .
}
http {
       . . .
}

这是杜赛博客中,sites-available 中自己站点的配置。其中各种directive的含义都可以在ngx_http_core_module 文档ngx_http_proxy_module 文档
中查到。我们可以得知,alias 的作用和其他教程中的 root 相仿。proxy有关的设置则将既不是 /static 也不是 /media 的请求转到 Gunicorn 运行的 socket 处来进行动态处理。

server {
  charset utf-8;
  listen 80;
  server_name 118.31.35.48;  # 改成你的 IP

  location /static {
    alias /home/sites/dusaiphoto.com/django_blog_tutorial/collected_static;
  }

  location /media {
    alias /home/sites/dusaiphoto.com/django_blog_tutorial/media;
  }

  location / {
    proxy_set_header Host $host;
    proxy_pass http://unix:/tmp/118.31.35.48.socket;  # 改成你的 IP
  }
}

相关文章

网友评论

      本文标题:2. 理解Nginx配置文件

      本文链接:https://www.haomeiwen.com/subject/edqxjktx.html