การ config Nginx สำหรับเว็บดาวน์โหลดไฟล์

การตั้งค่า Server Nginx บน Linux สามารถทำได้ที่ /etc/nginx/nginx.conf (สำหรับ Server ประเภท linux) ครับ ซึ่งโดยปกติแล้วค่า default ของ Server นี้จะอยู่ที่ nginx.conf.default ครับ ถ้ายังไม่มีไฟล์ config ก็ให้เริ่มต้นจากไฟล์นี้ได้เลย ลองมาดูตัวอย่างที่ผมใช้ในการตั้งค่าสำหรับเว็บดาวน์โหลดไฟล์ขนาดใหญ่ดูครับ

#######################################################################
#
# This is the main Nginx configuration file. 
#
# More information about the configuration options is available on
#   * the English wiki - http://wiki.codemongers.com/Main
#   * the Russian documentation - http://sysoev.ru/nginx/
#
#######################################################################

#----------------------------------------------------------------------
# Main Module - directives that cover basic functionality
#
#   http://wiki.codemongers.com/NginxMainModule
#
#----------------------------------------------------------------------

user              nginx;
worker_processes  10;

error_log         /var/log/nginx/error.log;

pid               /var/run/nginx.pid;

worker_rlimit_nofile 10240;

#----------------------------------------------------------------------
# Events Module
#
#   http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------

events {
    worker_connections 1024;
}

#----------------------------------------------------------------------
# HTTP Core Module
#
#   http://wiki.codemongers.com/NginxHttpCoreModule
#
#----------------------------------------------------------------------

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

    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_nodelay on;

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

    #
    # The default server
    #
    limit_zone one $binary_remote_addr 20m;

    server {
        listen 80;
        #จำกัดจำนวน Connection ต่อ 1 ดาวน์โหลด
        limit_conn one 5;
        #ชื่อ Server ใช้ที่อยู่ IP
        server_name  _;

        #Server Root
        location / {
            root   /usr/share/nginx/html;
            index  index.php;
        }
       
        # รัน PHP
        location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
        }

        # หน้าเพจ Error 404
        error_page  404 /404.html;
        location = /404.html {
           root   /usr/share/nginx/html;
        }

        #หน้าเพจ Error 50x
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
           root   /usr/share/nginx/html;
        }
    }
}


หลังจากการตั้งค่าแล้วคุณสามารถ Restart Server Nginx ได้ด้วยคำสั่ง
/etc/init.d/nginx stop
/etc/init.d/nginx start

#หรือ
/etc/init.d/nginx restart

^