Whatbox Logo
Login for certain variables to be updated with your slot's information

Wiki > PHP-FPM

Setup

  1. Create the configuration directory. mkdir ~/.config/php-fpm2

  2. Create the configuration file. touch ~/.config/php-fpm2/conf

  3. Copy the contents below into the configuration file. Be sure to delete any spaces at the start of each line to prevent startup errors. nano ~/.config/php-fpm2/conf

    [global]
    daemonize = yes
    error_log = /home/user/.config/php-fpm2/error.log
        
    [www]
    listen = /home/user/.config/php-fpm2/socket
        
    listen.owner = user
    listen.group = user
    listen.mode = 0600
    
    pm = dynamic
    pm.max_children = 20
    pm.start_servers = 1
    pm.min_spare_servers = 1
    pm.max_spare_servers = 5
    
    php_admin_value[memory_limit] = 4G
    
  4. Start php-fpm: php-fpm --fpm-config ~/.config/php-fpm2/conf

  5. In your nginx configuration directory, create fastcgi_params: touch ~/.config/nginx/fastcgi_params

  6. Copy the contents below into the fastcgi_params file.

    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        
    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;
        
    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI       $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        
    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    WebServer;
        
    fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;
        
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 8 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
    
  7. Create the ~/.config/nginx/includes/php.conf file: touch ~/.config/nginx/includes/php.conf and add the following contents to it:

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/home/user/.config/php-fpm2/socket;
    }
    
  8. Restart nginx to reflect the new configuration changes: pkill -f nginx/nginx.conf && ~/.config/nginx/start