我在/etc/nginx/sites下有一个somedomain.com.conf文件-在linux (RHEL)中可用。如果我想托管一个web应用程序/网站,我只是编辑相同的文件或为nginx创建一个新的配置文件吗?我编辑了这个文件,它的工作原理,但试图找到正确的方法来做到这一点。惯例是,为你托管的每个站点/应用创建一个新的配置文件吗?
server {
listen 80;
server_name mysite.com;
charset utf-8;
root /var/www/mysite-folder;
index index.html index.htm;
location / {
root /var/www/mysite-folder;
try_files $uri /index.html;
}
}
我认为基于rhel的系统根本不使用sites-enabled
/sites-available
机制(与基于debian的发行版相反)。当然,最常见的方法是为每个托管域名(可能包括子域名)使用单独的文件。所有这些文件都包含在http
上下文级别的顶级配置文件/etc/nginx/nginx.conf
中;Debian包中通常有
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
行,而RHEL包通常只有一个
include /etc/nginx/conf.d/*.conf;
。正如您所看到的,sites-enabled
目录中的文件可以以任何方式命名,而conf.d
目录中的文件应该包含.conf
扩展名(您可以将其重命名为<donain>.off
之类的东西,以便暂时从nginx配置中排除)。为您的vhost配置使用哪个目录取决于您(我个人更喜欢使用/etc/nginx/conf.d/
,因为它是一种更通用的方式)。在ServerFault上,站点可用与站点启用与conf.d目录线程之间存在很大差异(整个问题更适合ServerFault而不是StackOverflow;请下次在那里问这类问题。