Conversion of PHP single machine setup to nginx/php residing on different boxes
Johannes Graumann
johannes_graumann at web.de
Wed Jun 6 20:10:37 UTC 2012
Francis Daly wrote:
> On Wed, Jun 06, 2012 at 04:18:10PM +0300, Johannes Graumann wrote:
>
> Hi there,
>
>> > location ~ \.php$ {
>> > try_files $uri =404;
>
> try_files refers to local files only. http://nginx.org/r/try_files
>
> You probably don't want it here at all.
>
>> > fastcgi_pass 10.10.10.3:9000;
>> > fastcgi_index index.php;
>> > fastcgi_param SCRIPT_FILENAME
>> http://10.10.10.3:80/$fastcgi_script_name;
>
> SCRIPT_FILENAME is a parameter that the fastcgi server will read, and
> it will expect it to refer to a file on its filesystem that it should
> load and process.
>
> So: if the client requests the url /one/two.php, what file on the
> 10.10.10.3 server do you want that to correspond to? (From the perspective
> of the fasctcgi server, in case it is chroot'ed.)
>
> Make SCRIPT_FILENAME be that filename.
Thanks a lot for your pointers, which nudged me in the right direction.
After also finding http://nginxlibrary.com/resolving-no-input-file-
specified-error/ I came up with the following, which is working (a
"info.php" script at the documentroot containing a call to "phpinfo()" is
rendered properly and the output has "Server API: CGI/FastCGI"):
> server {
> listen 443;
> server_name XXX.org XXX;
> client_max_body_size 40M;
> # SSL is using CACert credentials
> ssl on;
> ssl_certificate /etc/ssl/private/cacert.XXX.org.pem;
> ssl_certificate_key
/etc/ssl/private/cacert.XXX.org_privatkey.pem;
> ssl_session_timeout 5m;
> ssl_protocols SSLv3 TLSv1;
> ssl_ciphers ALL:!ADH:!EXPORT56:!LOW:RC4+RSA:+HIGH:+MEDIUM:
+SSLv3:+EXP;
> ssl_prefer_server_ciphers on;
> # Proxy the "feng-container" lxc container
> root /var/www/;
> location / {
> proxy_pass http://10.10.10.3:80/;
> index index.php index.html index.htm;
> }
> location ~ \.php$ {
> fastcgi_pass 10.10.10.3:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
> include fastcgi_params;
> }
> }
Thank you. Joh
More information about the nginx
mailing list