

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
7 messages in ru.sysoev.nginxRe: Ask About Framework-Nginx| From | Sent On | Attachments |
|---|---|---|
| dika | Dec 26, 2007 10:33 pm | |
| Igor Sysoev | Dec 26, 2007 11:25 pm | |
| dika | Dec 27, 2007 4:00 am | |
| Igor Clark | Jan 9, 2008 3:26 am | |
| Igor Sysoev | Jan 9, 2008 3:34 am | |
| Igor Clark | Jan 9, 2008 3:37 am | |
| Igor Clark | Jan 9, 2008 3:40 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: Ask About Framework-Nginx | Actions... |
|---|---|---|
| From: | dika (andi...@public.gmane.org) | |
| Date: | Dec 27, 2007 4:00:10 am | |
| List: | ru.sysoev.nginx | |
Thank you very much Mr. Sysoev, it's nicely work!
----- Original Message ----- From: "Igor Sysoev" <is-G...@public.gmane.org> To: <nginx-nofU2znGi42HXe+LvDL...@public.gmane.org> Sent: Thursday, December 27, 2007 2:25 PM Subject: Re: Ask About Framework-Nginx
On Thu, Dec 27, 2007 at 01:33:46PM +0700, dika wrote:
Dear All,
Im a System Admin from Indonesia. I have a little trouble with Engine-X (nginx). My server can recognize PHP & FCGI well, but a trouble appear when I use a FuseBox frame work in my server. I assume that the troubles are here: ~ when server access a page like this: http://jkt6.detiksport.com/raket/index.php/home.read/tahun/2007/bulan/12/tgl/17/time/235133/idnews/868421/idkanal/79
Engine-X will parse that as folder (identified by slash (/)), but that doesn't really a folder. Those are a fuseBox parsing methode. I run this application in Apache, and everything going well.
What should I do ?
location ~ \.php($|/) {
set $script $uri; set $path_info "";
if ($uri ~ "^(.+\.php)(/.+)") { set $script $1; set $path_info $2; }
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /data/labdetiksport/site/sport$script; fastcgi_param PATH_INFO $path_info;
...
This is my nginx.conf and spawn-php.sh config:
---------------------------------------------nginx.conf-------------------------------------------- user detik users; worker_processes 10; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /usr/local/nginx/conf/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"'; sendfile on; tcp_nopush on; tcp_nodelay off; gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxied any; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; server { listen 202.158.66.30:80; client_max_body_size 50M; #server_name www.rubyonrailsworkshops.com rubyonrailsworkshops.com; # doc root root /data/labdetiksport/site/sport; #access_log /var/log/nginx.vhost.access.log main; access_log /var/log/httpd/jkt6.detiksport-access.log main; error_log /var/log/httpd/jkt6.detiksport-error.log debug; if (-f $document_root/system/maintenance.html) { rewrite ^(.*)$ /system/maintenance.html last; break; }
location / { proxy_set_header X-Real-IP $remote_addr; # If the file exists as a static file serve it directly without # running all the other rewite tests on it if (-f $request_filename) { break; }
# check for index.html for directory index # if its there on the filesystem then rewite # the url to add /index.html to the end of it # and then break to send it to the next config rules. if (-f $request_filename/index.html) { rewrite (.*) $1/index.html break; }
# Look for existence of PHP index file. # Don't break here...just rewrite it. if (-f $request_filename/index.php) { rewrite (.*) $1/index.php; }
# this is the meat of the rails page caching config # it adds .html to the end of the url and then checks # the filesystem for that file. If it exists, then we # rewite the url to have explicit .html on the end # and then send it on its way to the next config rule. # if there is no file on the fs then it sets all the # necessary headers and proxies to our upstream mongrels if (-f $request_filename.html) { rewrite (.*) $1.html break; } } location /content_images/ { alias /data/images/; }
error_page 500 502 503 504 /500.html; location = /500.html { root /data/labdetiksport/site/sport; }
# Pass the PHP scripts to FastCGI server listening on ip:port. # # Requires you to start one instance of http://topfunky.net/svn/shovel/nginx/php-fastcgi.sh location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/labdetiksport/site/sport$fastcgi_script_name; include /usr/local/nginx/conf/fastcgi.conf; #fastcgi_param QUERY_STRING $query_string; #fastcgi_param REQUEST_METHOD $request_method; #fastcgi_param CONTENT_TYPE $content_type; #fastcgi_param CONTENT_LENGTH $content_length; }
}
} ----------------------------------------------------------end of nginx.conf-----------------------------------------------
----------------------------------------------------------spawn-php.sh----------------------------------------------- #!/bin/bash
# Description: PHP-FastCgi start script from http://blog.kovyrin.net/2006/05/30/nginx-php-fastcgi-howto/ # # Author: Alexey Kovyrin http://blog.kovyrin.net # Comments by: Geoffrey Grosenbach http://topfunky.com # # This script is started once and receives PHP requests from Nginx for # all apps. The Nginx config passes the full path to the script being requested, so # only one fastcgi runner is needed for all apps, virtual hosts, etc. # # See also the init.d script for starting this on boot. # # To install PHP, I had to also compile the following: # # * http://www.gnu.org/software/m4/ # * http://flex.sourceforge.net/ # * http://php.net/ with './configure --prefix=/usr/local --enable-fastcgi'
## ABSOLUTE path to the PHP binary PHPFCGI="/usr/local/bin/php"
## tcp-port to bind on FCGIPORT="9000"
## IP to bind on FCGIADDR="127.0.0.1"
## number of PHP children to spawn PHP_FCGI_CHILDREN=5
## number of request before php-process will be restarted PHP_FCGI_MAX_REQUESTS=1000
# allowed environment variables sperated by spaces ALLOWED_ENV="PATH USER"
## if this script is run as root switch to the following user USERID=detik GROUPID=users
################## no config below this line
if test x$PHP_FCGI_CHILDREN = x; then PHP_FCGI_CHILDREN=5 fi
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_CHILDREN" ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS" ALLOWED_ENV="$ALLOWED_ENV FCGI_WEB_SERVER_ADDRS"
if test x$UID = x0; then # EX="/bin/su -m -c \"$PHPFCGI -q -b $FCGIADDR:$FCGIPORT\" $USERID" EX="/usr/local/bin/php -q -b 127.0.0.1:9000 detik" else EX="$PHPFCGI -b $FCGIADDR:$FCGIPORT" fi
echo $EX
# copy the allowed environment variables E=
for i in $ALLOWED_ENV; do E="$E $i=${!i}" done
# clean environment and set up a new one nohup env - $E sh -c "$EX" &> /dev/null &
----------------------------------------------------------end of spawn-php.sh-----------------------------------------------
Thank you very much for your kind attentions.
best regards, Dika .indonesian
-- Igor Sysoev http://sysoev.ru/en/
-- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.17.8/1195 - Release Date: 12/24/2007 11:19 AM







