Skip to content

Instantly share code, notes, and snippets.

@cbiggins
Created March 13, 2013 08:42

Revisions

  1. cbiggins created this gist Mar 13, 2013.
    162 changes: 162 additions & 0 deletions nginx.conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,162 @@
    #######################################################################
    #
    # This is the main Nginx configuration file.
    #
    # More information about the configuration options is available on
    # * the English wiki - http://wiki.nginx.org/Main
    # * the Russian documentation - http://sysoev.ru/nginx/
    #
    #######################################################################

    #----------------------------------------------------------------------
    # Main Module - directives that cover basic functionality
    #
    # http://wiki.nginx.org/NginxHttpMainModule
    #
    #----------------------------------------------------------------------

    user apache;
    worker_processes 4;

    error_log /var/log/nginx/error.log;
    #error_log /var/log/nginx/error.log notice;
    #error_log /var/log/nginx/error.log info;

    pid /var/run/nginx.pid;


    #----------------------------------------------------------------------
    # Events Module
    #
    # http://wiki.nginx.org/NginxHttpEventsModule
    #
    #----------------------------------------------------------------------

    events {
    worker_connections 1024;
    }


    #----------------------------------------------------------------------
    # HTTP Core Module
    #
    # http://wiki.nginx.org/NginxHttpCoreModule
    #
    #----------------------------------------------------------------------

    http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    client_max_body_size 200M;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    #tcp_nopush on;

    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    #gzip on;

    #
    # The default server
    #
    server {
    listen 80;
    client_max_body_size 200M;

    root /opt/bitnami/apache2/htdocs/SAU/app;

    # The host name to serve, same as 'ServerName' in Apache
    server_name skylinesaustralia.com;
    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
    root /opt/bitnami/apache2/htdocs/SAU/app;
    client_max_body_size 200M;
    index index.php index.html index.htm;
    try_files $uri $uri/ /forums/index.php?q=$uri&$args;

    }

    error_page 404 /404.html;
    location = /404.html {
    root /usr/share/nginx/html;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    # root html;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    # include fastcgi_params;
    #}

    # Pass all .php files onto a php-fpm/php-fcgi server.
    location ~ \.php$ {
    # Zero-day exploit defense.
    # http://forum.nginx.org/read.php?2,88845,page=3
    # Won't work properly (404 error) if the file is not stored on this server, which is entirely possible with php-fpm/php-fcgi.
    # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on another machine. And then cross your fingers that you won't get hacked.
    try_files $uri =404;

    root /opt/bitnami/apache2/htdocs/SAU/app;
    fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    # include fastcgi_params;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    # fastcgi_intercept_errors on;

    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;
    }

    #location / {
    # if (!-e $request_filename){
    # rewrite ^/forums/(.*)$ /forums/index.php break;
    # }
    #}
    #
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    # deny all;
    #}
    }

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

    }