how to add virtualhosts in nginx?

António P. P. Almeida appa at perusio.net
Wed Sep 22 23:35:59 MSD 2010


On 22 Set 2010 19h32 WEST, marceloramone at gmail.com wrote:

> Hola António and everybody,
>
> Thanks for the help, I really apreciate it!
>
> The VirtualHosts configuration file is located in:
> /etc/nginx/conf.d/virtual.conf
>
> example:
>
> http {
> ### vhost1 - www.prueba.com ###
> server {
> listen          80;
> server_name     www.prueba.com;
> access_log       logs/prueba.access.log main;
>
> index index.html;
> root  /var/www/virtuales/prueba.com/htdocs;
> }
>
>
>
> 2010/09/22 13:21:22 [info] 24429#0: the configuration file
> /etc/nginx/nginx.conf syntax is ok
> 2010/09/22 13:21:22 [emerg] 24429#0: open()
> "/usr/share/nginx/logs/prueba.access.log" failed (2: No such file or
> directory)
> 2010/09/22 13:21:22 [emerg] 24429#0: the configuration file
> /etc/nginx/nginx.conf test failed
>
> ¿the logs file must be created maually everytime I create a domain?

No. You can specify the log file in a server context and use the $host
variable. 

access_log /var/log/nginx/$host/access.log

Although in the wiki such practice is discouraged:
http://wiki.nginx.org/NginxHttpLogModule#access_log So yes the best
practice is to set an access log for each domain.

You have to specify a full path otherwise nginx will use a default
path. You can specify a default log file in the --http-log-path
configure option.

> I remove the "access_log logs/prueba.access.log main;" line and
> works, but when I browse "www.prueba.com" I get nginx default html
> page, and when I browse "www.prueba.com/index.html" the index.html
> placed in /var/www/virtuales/prueba.com/html is showed.
>
> is possible show index.html directly when "prueba.com" or
> "www.prueba.com" is entered in the browser?

Yes.

> Maybe some redirection in the VirtualHost configuration file

Nope. It's the access log error.

> what about the error logs files?

See above.

Fix the access log error. Nginx isn't loading the configuration. It's using a
previous one. 

See http://wiki.nginx.org/CommandLine, the HUP signal handling to be
specific.

--- appa




More information about the nginx mailing list