-
Notifications
You must be signed in to change notification settings - Fork 13
/
nginx_vhost.erb
60 lines (49 loc) · 1.49 KB
/
nginx_vhost.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Generated by Chef
server {
server_name <%=
server_names = []
server_names.push @server_name if @server_name.kind_of? String
server_names += @server_aliases if @server_aliases.kind_of? Array
server_names.join ' '
%>;
<% if @ssl -%>
listen 443 <%= Chef::VersionConstraint.new('< 0.8.21').include?(node['nginx']['version'][/\d+\.\d+\.\d+/]) ? 'default' : '' %> ssl;
<%= render 'nginx.erb', cookbook: 'ssl_certificate' %>
<% else -%>
listen <%= @port ? @port : '80' %>;
<% end -%>
charset utf-8;
access_log <%= node['nginx']['log_dir'] %>/<%= @name %>-access.log combined;
error_log <%= node['nginx']['log_dir'] %>/<%= @name %>-error.log;
# Path to the root of your installation
root <%= @docroot %>;
fastcgi_buffers 64 4K;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 360;
index index.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}
location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
<% if @ssl -%>
fastcgi_param HTTPS on;
<% end -%>
fastcgi_pass <%= @fastcgi_pass %>;
}
# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
}