USE=fastcgi emerge nginxСоздаем юзера и группу для www:
groupadd www
useradd www -g www
Установка MySQL:
emerge dev-db/mysql
mysql_install_db --basedir=/usr --datadir=/var/lib/mysql --user=mysql
Запускаем MySQL:
/etc/init.d/mysql start
Зададим пароль для mysql-юзера root:
mysqladmin -u root password 'new password'
Далее, устанавливаем php-fpm. Качаем php-5.3.0 отсюда: http://www.mediafire.com/?bzbvz2klo3y и патч для php-fpm: http://dpvps.googlecode.com/files/php-5.3.0-fpm-0.5.12.diff.gz
можно поставить его и через svn. подробности здесь: http://php-fpm.org/download/
Распаковываем php и патчим:
tar jxf php-5.3.0.tar.bz2Ставим библиотеки png, jpeg, truetype и gd:
gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1
emerge libpng jpeg freetype
USE="png jpeg truetype" emerge gd
Копмилим php:
cd php-5.3.0
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --enable-fpm --enable-sockets --enable-pdo --with-pdo-mysql=/usr --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib
make && make install
Копируем конфиг php:
cp php.ini-production /usr/local/php/etc/php.ini
Code listing /usr/local/php/etc/php.ini:
Unix user of processes
Unix group of processes
Копируем конфиг php-fpm:
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm
Запустим php-fpm и добавим в автозагрузку:
/etc/init.d/php-fpm start
rc-update add nginx default
rc-update add mysql default
rc-update add php-fpm default
nginx + php
Редактируем конфиг nginx:
nano /etc/nginx/nginx.conf
Code listing /etc/nginx/nginx.conf:
user www;
worker_processes 5;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
# configure log format
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# main access log
access_log /var/log/nginx_access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 2;
tcp_nodelay on;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Создаем папку sites-enabled, и в ней файл с именем сайта:
mkdir /etc/nginx/sites-enabled
nano /etc/nginx/sites-enabled/example.com
Code listing /etc/nginx/sites-enabled/example.com:
server {
listen 80;
server_name example.com www.example.com;
access_log /var/log/example.com-access.log;
error_log /var/log/example.com-error.log;
root /var/www;
location ~ /.svn/ {
deny all;
}
location ~ \.php$ {
root /var/www/;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}
Рестартим nginx:
/etc/init.d/nginx restart
Проверка php и mysql:
echo "" > /var/www/test/index.php
..и качаем скрипт для mysql отсюда: http://www.wallpaperama.com/forums/simple-php-mysql-connection-test-script-example-t5702.html
Ссылки: hily.me, habrahabr.ru
Комментариев нет:
Отправить комментарий