nginxとphp5の設定など

nginxのインストール

sudo aptitude install -y nginx

PHPインストール

sudo aptitude -y install php5 php5-common php5-curl php5-dev php5-fpm
sudo aptitude -y install php5-gd php5-imagick php5-intl php5-json php5-mcrypt
sudo aptitude -y install php5-memcache php5-mongo php5-mysql php5-xdebug

nginxのサイト設定

sudo vi /etc/nginx/sites-available/sheeps.me
server {
    server_name *.sheeps.me;

    root /var/www/$host/www;
    index index.html index.php;

    location / {
        try_files $uri $uri/ /index.php;
    }

    # API
    location /api/ {
        try_files $uri /api.php?$args;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /var/www/$host/www$fastcgi_script_name;
    }

    # serve static files directly
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|bmp|swf|wmv)$ {
        root /var/www/$host/www;
        access_log off;
        expires 30d;
    }

    location ~ /\.ht {
        deny  all;
    }
}

DNS Aレコードの設定

a   *.sheeps.me     163.43.161.128

php-fpmの設定

sudo vi /etc/php5/fpm/pool.d/www.conf
[www]
listen = /var/run/php5-fpm.sock
user = www-data
group = www-data
pm = dynamic
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
request_slowlog_timeout = 1s
slowlog = /var/log/php5/$pool.log.slow
chdir = /

5.4.6-1ubuntu1.1ではaptでインストールした場合にデフォルトで
unixドメインで動作するように設定されるようです。

ファイルオープン上限の確認

ulimit -n

1024

アクセス数の多いサイトなどでは、/etc/security/limits.confなどで設定

XHProfのインストール

git clone https://github.com/facebook/xhprof.git
cd ./xhprof/extension/
phpize
./configure
make
sudo make install
sudo vi /etc/php5/mods-available/xhprof.ini


; configuration for php XHProf module
; priority=20
extension=xhprof.so

Ketamaのインストール

git clone https://github.com/RJ/ketama.git
cd ./ketama/libketama/
make
sudo make install

cd ../php_ketama/
phpize
./configure
make
sudo make install
sudo vi /etc/php5/mods-available/ketama.ini


; configuration for php Ketama module
; priority=20
extension=ketama.so

Leave a reply