我可以在Nginx的每个目录中添加不同的conf文件吗?

时间:2018-07-24 13:44:49

标签: php nginx configuration subdirectory

我想将不同的配置文件添加到不同的目录。例如:

root /var/www/root/html

location / {
    root /var/www/root/html
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    include a.conf
    include phphandler.conf
}
location /dir1/ {
    root /var/www/dir1/html
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    include b.conf
}
location /dir2/ {
    root /var/www/dir2/html
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    include c.conf
    include phphandler.conf
}

因此,每个目录都有自己的.conf文件(egaconf,b.conf),其中包含自己的php处理选项,错误处理选项等;还有一个通用的conf文件(phphandler.conf),其中包含适用于所有子目录。

这项工作有效吗?我想将每个子目录的错误页面和配置文件分开。

此外,更新nginx是否会将/ site-available / default恢复为其默认配置?

1 个答案:

答案 0 :(得分:0)

您的问题的答案是可以的,但是不要在location /

中这样做

在主nginx.conf中,您必须编写要包含的路径

例如,现在您只有一个include /etc/nginx/sites-enabled/*;

只需再添加一个include /etc/nginx/yourdir/*;