มีปัญหาเกี่ยวกับการใช้งาน nginx ครับ

เรื่องเกิดจากผมเองไปลองเช่า vps เมืองนอกแล้วที่นี่มันต้องลงเองหมดทุกอย่าง ผมเลือก centos 5.5 64bit มาครับ

การติดตั้ง nginx + fastcgi ผมลงตามนี้ทุกประการครับ http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/

ตอนนี้ผมสร้างไฟล์ phpinfo.php โดยใส่ข้อความว่า <?php phpinfo(); ?> ใน /usr/share/nginx/html/ แล้ว

ที่นี่ผมต้องการเรียกใช้งานโดยพิมพ์ในเข้าเว็บ http://122.155.16.152/phpinfo.php

แต่มันไม่สามารถเข้าได้ครับ มันยิงลิ้งไปที่ /usr/share/nginx/html/50x.html หรือ http://66.160.196.21/50x.html

ตัวผมเองคิดว่าน่าจะเกิดจากการตั้งค่าใน /etc/nginx/nginx.conf

โดยผมเองได้มีข้อมูลใน /etc/nginx/nginx.conf ดังต่อไปนี้ครับ

#######################################################################

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

Module ngx_http_core_module

#----------------------------------------------------------------------

user nginx;

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

Module ngx_http_core_module

#----------------------------------------------------------------------

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



#keepalive_timeout  0;

keepalive_timeout  65;



#gzip  on;



#

# The default server

#

server {

    listen       66.160.196.21:80;

    server_name  localhost;



    #charset koi8-r;



    #access_log  logs/host.access.log  main;



    location / {

        root   /usr/share/nginx/html;

        index  index.html index.htm;

    }



    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:9000

    #

    #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:80;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

        include        fastcgi_params;

    }



    # 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;

}

ผมเองต้องแก้ไขค่าตรงนี้หรือต้องทำอย่างไรจึงจะสามารถเรียกใช้งาน phpinfo.php เพื่อดูได้ครับ, ในกรณีมิใช่เกิดแต่ phpinfo.php ที่ผมใส่เข้าไป แต่ถ้าผมใส่ไฟล์ชื่อ test.php แล้วข้อความว่า 1234 ก็ไม่สามารถเรียกแสดงได้ครับ

หมายเหตุ : ปัจจุบันไฟล์ phpinfo.php และ test.php ยังไม่ได้ลบจาก address ข้างต้นครับ

ขอบคุณล่วงหน้าครับ

location ~ .php$ {

root html;

fastcgi_pass 127.0.0.1:[color="#FF0000"]80[/color]; &lt;-- อันนี้ต้องตั้งไปที่ port ที่ให้ fast-cgi ทำงานอยู่ น่าจะดูได้ในไฟล์ /etc/init.d/php_cgi ไม่เคยติดตั้งด้วย package ไม่แน่ใจ

fastcgi_param  SCRIPT_FILENAME    /usr/share/nginx/html$fastcgi_script_name;

fastcgi_index index.php;

include fastcgi_params;

}

spawn-fcgi init.d shell script: มัน port 9000 ไปใส่ 80 ก็รันไม่ได้สิ

location ~ .php$ {

        root           html;

        fastcgi_pass   127.0.0.1:80;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

        include        fastcgi_params;

    }

แก้ไขเป็น

    location ~ \.php$ {

        root           html;

        fastcgi_pass   127.0.0.1:[color="#FF0000"]9000[/color];

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

        include        fastcgi_params;

    }

service nginx restart , แล้วลองเข้าใหม่แต่ยังไม่ได้ครับ เป็นแบบเดิม

location / {

root /usr/share/nginx/html;

index index.html index.htm index.php;

}

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

include fastcgi_params;

}

    	location ~ \.php$ {

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

            include        fastcgi_params;

        }

ไม่ได้เหมือนกันครับผม

เอาอันนี้ไปใส่แทน service nginx restart ใหม่มันก็ไม่ได้เหมือนกันครับ

ผมลองเอาไฟล์ jpg,png อัพเข้าไปลองเรียกดูได้อันนี้มันเกี่ยวอะไรกับ php html เดียว ๆ ไหมครับ

pm ip root pass มาครับเดี๋ยวดูให้

pm ไปแล้วครับ

ได้ละ นะครับ

ที่ไม่ได้เพราะคุณ ยังไม่ได้สั่ง รัน cgi

service php_cgi start

เวนกรรม ครับขอบคุณมากครับ T T

ว่าแต่ถ้าผมจะใช้มันทำโหลดไฟลถ้าจะเซตให้มันโหลดได้หนัก ๆ ต้องแก้ไขตรงไหนรึเปล่าครับ หรือแบบนี้ก็ใช้งานได้เลย ?

รับโหลดอะไรครับ static ไฟล์หรือ php มันปรับแต่งค่าเพื่อรีดประสิทธิภาพไม่เหมือนกัน

จะใช้เก็บไฟล์ .flv ครับเป็น video เหมือน youtube อ่าครับ streaming on demand

ตั้งค่า buffer ต่างๆ เพิ่ม slot แล้วก็ size ตามปริมาณ Memory ให้เหมาะสมค่อยๆ ปรับเพิ่มไปครับ

ตัวผมเองไม่ทราบในส่วนนี้อ่าครับ มันอยู่ตรงไหนหรอครับแล้วการปรับเราจะรู้ได้อย่างไรว่ามันเหมาะสมกับเครื่องของเรา

Directive ส่วนใหญ่ดูได้ที่ http://wiki.nginx.org/ModulesByExample แต่อย่าปรับตามนั้นมันเป็นการแสดง Directive ต่างๆ พร้อมตัวอย่างค่าเท่านั้น

ความเหมาะสมแต่ละเครื่องอุปกรณ์ไม่เหมือนกันไม่มีสูตรตายตัว แล้วก็ต้องดูด้วยว่า static file ขนาดเท่าไหร่ไฟล์เล็กไม่มีปัญหาอยู่แล้ว

ไฟล์เล็กเปิด sendfile ไฟล์ใหญ่ปิด sendfile เปิด directio และปรับแต่ buffer ส่วนต่างๆ เพิ่มครับ รายละเอียดต้องอ่าน document และลองทำเยอะๆครับ

ขอบคุณครับ เดี๋ยวลองศึกษามันก่อนครับ