FastCGI i Drupal

czwartek, 26 Kwiecień 2007, 7:11 | Blog

Tagi: , ,

Jedna z moich drupalowych instalacji generuje dosyć spory load dla serwera – głównie z powodu cotygodniowych peaków oglądalności, a nie z powodu zasobożernych modułów.

Nowy hosting, na który się przesiadłem, automatycznie przełącza witryny generujące duże obciążenie do obsłużenia w trybie FastCGI.

No i tu się pojawił problem, bo nagle do urli przykleił się string /f-php-cgi i od tego momentu urle wyglądały w sposób następujacy: http://domena/f-php-cgi/node/*.

Support sugerował na początku takie rozwiązanie:

Proszę nie korzystać ze zmiennej _ENV["SCRIPT_NA­ME"], mozna uzywac np. _ENV["REQUEST_URI"] albo _ENV["PATH_TRAN­SLATED"].

W SCRIPT_NAME w trybie FastCGI będzie zawsze f-php-cgi, a ten tryb jest konieczny dla tej witryny (mocno przyspiesza ładowanie się stron często odwiedzanych

Szybkie przeszukanie źródeł Drupala (akurat była to wersja 4.7.x) nic nie dało.

Oczywiście, jak to bywa zwykle, w chwili olśnienia udało mi się wymyślić rozwiązanie – trzeba ustawić na sztywno zmienną $base_url w settings.php.

/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains,
* uncomment the Base URL statement below (remove the leading hash sign)
* and fill in the URL to your Drupal installation.
*
* You might also want to force users to use a given domain.
* See the .htaccess file for more information.
*
* Examples:
* $base_url = ‘http://www.example.com’;
* $base_url = ‘http://www.example.com:8888′;
* $base_url = ‘http://www.example.com/drupal’;
* $base_url = ‘https://www.example.com:8888/drupal’;
*
* It is not allowed to have a trailing slash; Drupal will add it
* for you.
*/
$base_url = ‘http://www.example.com’; // NO trailing slash!

Podobne wpisy:

  1. Drupal multisite dla opornych
  2. Drupalowe problemy z logowaniem
  3. Views i ilość wyświetlanych node’ów
  4. Views – export/import
  5. Indeksowanie grafiki w Google Images

Brak komentarzy.

Dodaj komentarz albo trackback

Categories

Szukaj