0

いくつかの助けを使うことができます。認証済みユーザーのキャッシュに関して問題がある drupal6 インストールがあります。Boost は、認証されていないキャッシングを非常にうまく処理しています。現在のセットアップでは、セッションをまったく作成できず、ログインしようとすると、「このページを表示する権限がありません」という結果が表示されます。Memcache と apc はサーバーにインストールされ、phpinfo に従って動作します。これが私の現在のセットアップです(キャッシュルーターなし):

include_once('./sites/all/modules/memcache/memcache.inc');
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['session_inc'] =  './sites/all/modules/memcache/memcache-session.inc';
$conf['memcache_servers'] = array(
'127.0.0.1:11211' => 'default',
'127.0.0.1:11212' => 'block',
'127.0.0.1:11213' => 'content',
'127.0.0.1:11214' => 'filter',
'127.0.0.1:11215' => 'form',
'127.0.0.1:11216' => 'menu',
'127.0.0.1:11217' => 'page',
'127.0.0.1:11218' => 'update',
'127.0.0.1:11219' => 'views',
'127.0.0.1:11221' => 'session',
'127.0.0.1:11222' => 'users'
);

$conf['memcache_bins'] = array(
'cache' => 'default',
'cache_block' => 'block',
'cache_content' => 'content',
'cache_filter' => 'filter',
'cache_form' => 'form',
'cache_menu' => 'menu',
'cache_page' => 'page',
'cache_update' => 'update',
'cache_views' => 'views',
'session' => 'session',
'users' => 'users'
);

このセットアップの前は、authcache で cacherouter を使用しており、エンジンとして apc を使用していました。ユーザーはログインできましたが、認証されたユーザーに対して実際のキャッシュは行われませんでした。これを実行するために、これについて見つけることができるすべてを読んで、さまざまなテストを行い、構成を変更しましたが、成功しませんでした。以前のセットアップは次のとおりです。

$conf['cacherouter'] = array(
'default' => array(
'engine' => 'apc',
'server' => array('127.0.0.1:11211'),
'shared' => TRUE,
'prefix' => '',
'path' => 'storage_bin/filecache',
'static' => FALSE
),
);

$conf['cache_inc'] = './sites/all/modules/authcache/authcache.inc';

$conf['memcache_servers'] = array(
'127.0.0.1:11211' => 'default',
'127.0.0.1:11212' => 'block',
'127.0.0.1:11213' => 'content',
'127.0.0.1:11214' => 'filter',
'127.0.0.1:11215' => 'form',
'127.0.0.1:11216' => 'menu',
'127.0.0.1:11217' => 'page',
'127.0.0.1:11218' => 'update',
'127.0.0.1:11219' => 'views'
);

$conf['memcache_bins'] = array(
'cache' => 'default',
'cache_block' => 'block',
'cache_content' => 'content',
'cache_filter' => 'filter',
'cache_form' => 'form',
'cache_menu' => 'menu',
'cache_page' => 'page',
'cache_update' => 'update',
'cache_views' => 'views'
);

このサイトは www.thewildside.com で見ることができます。これに関するヘルプは大歓迎です。

4

1 に答える 1

1

他の誰かがこれに遭遇した場合、私の解決策は、cacherouter (期待どおりに実行されませんでした)、authcache (ベータ版すぎる)、およびブースト (キャッシュされたページで apache をまったくヒットしないようにするため) を捨てることでした... Memcache API (drupal モジュール)、memcache (キャッシュシステム)、apc および varnish (3.0)。Memcache API を使用すると、memcache を介して RAM にキャッシュすることも、memcache が利用できない場合のバックアップとして (memcache.db.inc を介して) drupal db にキャッシュすることもできます。各キャッシュ コンポーネントに使用する RAM の量を決定するためのベンチマーク。セッション情報を memcache に保持することもできますが、これによるパフォーマンスの大幅な向上に気付いていないため、memcache-session.inc を含めないことを選択できます。drupal キャッシュ データベースごとに memcache インスタンスを作成します (または 1 つのデフォルト インスタンスを使用します)。作成したインスタンスごとにキャッシュ ビンをセットアップし、リバース プロキシ設定とデフォルトの ttl を投入します。

$conf = array(
'cache_inc'        => './sites/all/modules/memcache/memcache.db.inc',
'memcache_key_prefix' => 'ws',
'session_inc'      => './sites/all/modules/memcache/memcache-session.inc',
'memcache_servers' => array(
'unix:///var/run/memcached/memcached_wildside.sock' => 'default',
'unix:///var/run/memcached/memcached_wildside_apachesolr.sock' => 'apachesolr',
'unix:///var/run/memcached/memcached_wildside_block.sock' => 'block',
'unix:///var/run/memcached/memcached_wildside_content.sock' => 'content',
'unix:///var/run/memcached/memcached_wildside_filter.sock' => 'filter',
'unix:///var/run/memcached/memcached_wildside_form.sock' => 'form',
'unix:///var/run/memcached/memcached_wildside_media_youtube_status.sock' => 'media_youtube_status',
'unix:///var/run/memcached/memcached_wildside_menu.sock' => 'menu',
'unix:///var/run/memcached/memcached_wildside_objects.sock' => 'objects',
'unix:///var/run/memcached/memcached_wildside_page.sock' => 'page',
'unix:///var/run/memcached/memcached_wildside_path.sock' => 'path',
'unix:///var/run/memcached/memcached_wildside_rules.sock' => 'rules',
'unix:///var/run/memcached/memcached_wildside_update.sock' => 'update',
'unix:///var/run/memcached/memcached_wildside_views.sock' => 'views',
'unix:///var/run/memcached/memcached_wildside_views_data.sock' => 'views_data',
'unix:///var/run/memcached/memcached_wildside_session.sock' => 'session',
'unix:///var/run/memcached/memcached_wildside_users.sock' => 'users'),
'memcache_bins' => array(
'cache' => 'default',
'cache_apachesolr' => 'apachesolr',
'cache_block' => 'block',
'cache_content' => 'content',
'cache_filter' => 'filter',
'cache_form' => 'form',
'cache_media_youtube_status' => 'media_youtube_status',
'cache_menu' => 'menu',
'cache_objects' => 'objects',
'cache_page' => 'page',
'cache_path' => 'path',
'cache_rules' => 'rules',
'cache_update' => 'update',
'cache_views' => 'views',
'cache_views_data' => 'views_data',
'session' => 'session',
'users' => 'users'),
);

$conf['https'] = TRUE;
$conf['mimedetect_magic'] = '/usr/share/file/magic';
$conf['reverse_proxy'] = TRUE;
$conf['reverse_proxy_addresses'] = array('127.0.0.1');

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])){
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
        $_SERVER['HTTPS']='on';
    }else{
        $_SERVER['HTTPS']='';
    }
}

/* 1 day cache lifetime = 86400 */
$conf['cache_lifetime'] = 86400;
$conf['page_cache_maximum_age'] = 86400;

Varnish の構成ファイル (.vcl) を設定するときは、使用する構文が、インストールした Varnish のバージョンに対応していることを確認してください。

于 2012-10-15T17:20:53.260 に答える