WordPress.org

Make WordPress Core

Ticket #7208: nginx.conf

File nginx.conf, 2.8 KB (added by drhallows, 7 years ago)

Nginx Conf Example

Line 
1user www-data;
2worker_processes  3;
3
4error_log  /var/log/nginx/error.log;
5pid        /var/run/nginx.pid;
6
7events {
8    worker_connections  1024;
9}
10
11http {
12    include       /etc/nginx/mime.types;
13    default_type  application/octet-stream;
14
15    access_log  /var/log/nginx/access.log;
16
17    sendfile        on;
18    #tcp_nopush     on;
19
20    #keepalive_timeout  0;
21    keepalive_timeout  65;
22    tcp_nodelay        on;
23
24    gzip  on;
25
26    server {
27        listen       80;
28        server_name  mysite.com www.mysite.com;
29    if ( $host = www.mysite.com ) {
30        rewrite ^\/(.*)$ http://mysite.com/$1 permanent;
31    }
32        access_log  /var/log/nginx/localhost.access.log;
33
34
35
36       location / {
37            root   /var/www/;
38            index  index.html index.htm index.php;
39
40          if (!-e $request_filename) {
41rewrite ^.+?(/wp-.*) $1 last;
42rewrite ^.+?(/.*\.php)$ $1 last;
43rewrite ^ /index.php last;
44}
45
46        }
47
48        #error_page  404              /404.html;
49
50        # redirect server error pages to the static page /50x.html
51        #
52        error_page   500 502 503 504  /50x.html;
53        location = /50x.html {
54            root   /var/www/nginx-default;
55        }
56
57        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
58        #
59        #location ~ \.php$ {
60        #    proxy_pass   http://127.0.0.1;
61        #}
62
63        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
64        #
65        location ~ \.php$ {
66            fastcgi_pass   127.0.0.1:9000;
67            fastcgi_index  index.php;
68            fastcgi_param  SCRIPT_FILENAME /var/www$fastcgi_script_name;
69            include        /etc/nginx/fastcgi_params;
70        }
71
72        # deny access to .htaccess files, if Apache's document root
73        # concurs with nginx's one
74        #
75        #location ~ /\.ht {
76        #    deny  all;
77        #}
78    }
79
80
81    # another virtual host using mix of IP-, name-, and port-based configuration
82    #
83    #server {
84    #    listen       8000;
85    #    listen       somename:8080;
86    #    server_name  somename  alias  another.alias;
87
88    #    location / {
89    #        root   html;
90    #        index  index.html index.htm;
91    #    }
92    #}
93
94
95    # HTTPS server
96    #
97    #server {
98    #    listen       443;
99    #    server_name  localhost;
100
101    #    ssl                  on;
102    #    ssl_certificate      cert.pem;
103    #    ssl_certificate_key  cert.key;
104
105    #    ssl_session_timeout  5m;
106
107    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
108    #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
109    #    ssl_prefer_server_ciphers   on;
110
111    #    location / {
112    #        root   html;
113    #        index  index.html index.htm;
114    #    }
115    #}
116
117}