このサーバの設定について

By | 2013年11月13日

忘れないうちに書いておこうと思う。予め言っておきますが、自分でやったことを全て一気に思い出すのは難しいので、後で書き忘れに気づいたら追記するかもです。

あと、どうでもいいことですが、普段はEmacs使ってますが、サーバの設定ファイルの編集はVim使ってますよ!

基本情報

DTIのVPSコースで運営してます。サーバ(仮想マシン)一台借りていて、ブログとかは手動設定です。

OSはDebian(6.0.8, 64bit)、ウェブサーバはnginx(0.7.67)、それの上でFastCGI(php-fpm)でWordpress動かしてます。

インストール

phpとnginxは普通にapt-getしましたが、php-fpmはDebian6.0では標準では入っていないようで、ここらへんを参考にしながら/etc/apt/aource.listに以下を追記。


deb http://packages.dotdeb.org squeeze all

あとはこんな感じ


apt-get install nginx php-pear php5 php5-cli php5-common php5-curl php5-fpm php5-gd php5-mcrypt php5-mysql ph5-suhosin

WordPress単体ならphp5-curlはなくても動きましたが、あとでプラグインを入れるときに必要になったはず。

apacheはいらないので、とはいってもphp5が依存しているようなのでアンインストールするわけにもいかず、起動スクリプトから消しておきます。

update-rc.d -f apache2 remove

各種設定

/etc/nginx/sites-available/mysettingはこんな感じ


server {
    listen 80;
    listen   [::]:80 default ipv6only=on;

    server_name  hamukazu.com;
    access_log  /var/log/nginx/hamukazu.access.log;
    error_log  /var/log/nginx/hamukazu.error.log;

    root  /var/www/wp;
    location /  {
        index index.php;
        if (-f $request_filename) {
            expires 30d;
            break;
        }
        if (!-e $request_filename) {
            rewrite ^.*(/wp-.*) $1 last;
            rewrite ^(.*) /index.php?q=1 last;
        }
    }
    location ~ \.css {
        add_header  Content-Type    text/css;
    }
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

if (!-e $request_filename) {…}のあたりは、パーマリンクを日付にするのに必要なようです。ここを参考にしました。

そしてこのファイルを/etc/nginx/sites-enabledにシンボリックリンクして、/etc/nginx/sites-enabledにあったdefaultを消去。

あと、/etc/php5/fpm/pool.d/www.confもいじるんですが、オリジナルとのdiffの結果を書いておきます。


# diff www.conf www.conf.orig
33c33
< listen = /var/run/php5-fpm.sock
---
> listen = 127.0.0.1:9000
358c358
< security.limit_extensions = .php .php3 .php4 .php5 .html .png .js .css .gif .jpeg .jpg
---
> ;security.limit_extensions = .php .php3 .php4 .php5

以上。
サーバいじり楽しいなあ。らんらんるー♪





コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です