在杜赛的博客里,部署的各种配置都是直接给出的。作为读者也只是单纯地复制粘贴。下面简单介绍一下关于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
}
}
网友评论