nico-systemにキャッシュシステムを付ける

たとえばEivomなら…

Eleon_2007\nicovide\文書\10_02_10_rewritemap用.xlsからrewritemapを作成する。
作成したrewritemapはテーマディレクトリ直下に置く。
ファイル名は、カテゴリはhtrewritemap_category ページはhtrewritemap_pageとする。
/usr/home/eivom/public_html/wordpress-anime/wp-content/themes/eivom/rewritemap_category
/usr/home/eivom/public_html/wordpress-anime/wp-content/themes/eivom/rewritemap_page

elib.confにindexpathとcache_siteurlを定義する。

[anime_eivom]
indexpath=/usr/home/eivom/public_html/wordpress-anime/index.html
cache_siteurl=anime2.eivom.jp

キャッシュ生成用のWordpressディレクトリを作成する。

cp -Rp /usr/home/eivom/public_html/wordpress-anime /usr/home/eivom/public_html/wordpress-anime_cache

キャッシュ用Wordpressが参照するデータベースを設定する。相当な負荷が掛かるので適切なデータベースを設定してやる。

emacs /usr/home/eivom/public_html/wordpress-anime_cache/wp-config.php
define(‘DB_HOST’, ‘serveraddr’);

lincolnのhttpd-vhosts.confを編集してanime2.eivom.jpのドキュメントルートをキャッシュ用Wordpressのディレクトリに設定する。
キャッシュを読み込むようにRewriteMapを設定する。

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /usr/home/eivom/public_html/wordpress-anime_cache/
ServerName anime2.eivom.jp
<Directory />
Order Allow,Deny
Allow from all
AllowOverride All
Options ExecCGI SymLinksIfOwnerMatch Includes
</Directory>
ErrorLog /var/log/httpd/anime.eivom.jp-error.log
CustomLog “|/usr/bin/logger -p local1.info -t httpd-anime.eivom.jp” combined
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /usr/home/eivom/public_html/wordpress-anime/
ServerName anime.eivom.jp
<Directory />
Order Allow,Deny
Allow from all
AllowOverride All
Options ExecCGI SymLinksIfOwnerMatch Includes
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLogLevel 9
RewriteMap  eivommap  txt:/usr/home/eivom/public_html/wordpress-anime/wp-c
ontent/themes/eivom/.htrewritemap_category
RewriteCond ${eivommap:$1} .+
RewriteRule ^/(.*)(/)+ /${eivommap:$1} [L]
RewriteMap  eivommap_page  txt:/usr/home/eivom/public_html/wordpress-anime/wp-c
ontent/themes/eivom/.htrewritemap_page
RewriteCond ${eivommap_page:$1} .+
RewriteRule ^/(.*)(/)+ /${eivommap_page:$1} [L]
</IfModule>
ErrorLog /var/log/httpd/anime.eivom.jp-error.log
CustomLog “|/usr/bin/logger -p local1.info -t httpd-anime.eivom.jp” combined
</VirtualHost>

.htaccessを編集してindex.htmlが存在しても正しくWordpressが動作するようにする。

ee /usr/home/eivom/public_html/wordpress-anime/.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{QUERY_STRING} ^s= [OR]
RewriteCond %{QUERY_STRING} page_id= [OR]
RewriteCond %{QUERY_STRING} ^p= [OR]
RewriteCond %{QUERY_STRING} ^cat= [OR]
RewriteCond %{QUERY_STRING} url= [OR]
RewriteCond %{QUERY_STRING} ^feed=
RewriteRule . index.php [L]
</IfModule>

php makeStaticCategory.php 2 10(index.htmlの作成)
php makeStaticCategory.php 2 11(rewritemap_pageを元にページキャッシュを作成)
php makeStaticCategory.php 2 12(rewritemap_categoryを元にページキャッシュを作成)

これらのコマンドが実行できるかを確認する。

コメントを残す