Ставим из портов PHP:
cd /usr/ports/lang/php5
make install clean
В настройках установщика не забываем выбрать php-fpm. После установки можно поставить требуемые вам дополнения PHP:
cd /usr/ports/lang/php5-extensions
make install clean
Разрешаем запуск php-fpm, прописав в /etc/rc.conf :
php_fpm_enable="YES"
Копируем файл настроек PHP:
cd /usr/local/etc
cp php.ini-production php.ini
Для работы Netcat возможно понадобится включить в нём опции register_global и short_open_tag. А вообще, конечно, настройка PHP требует куда более тонкого конфигурирования, что выходит за рамки данной статьи.
Копируем файл настроек PHP:
cd /usr/local/etc
cp php.ini-production php.ini
Для работы Netcat возможно понадобится включить в нём опции register_global и short_open_tag. А вообще, конечно, настройка PHP требует куда более тонкого конфигурирования, что выходит за рамки данной статьи.
Теперь пора поставить вебсервер Nginx:
cd /usr/ports/www/nginx
make install clean
Так же вписываем в /etc/rc.conf разрешение на запуск Nginx:
nginx_enable="YES"
Осталось поставить из портов MySQL:
cd /usr/ports/database/mysql50-server
make install clean
Прописать в /etc/rc.conf разрешение на его запуск:
mysql_enable="YES"
Запустить MySQL:
cd /usr/local/etc/rc.d
./mysql-server start
Скопировать файл настроек MySQL (возможно придется играться с кодировками, описано в одной из предыдущих заметок):
cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf
И задать пароль суперпользователя MySQL:
cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf
И задать пароль суперпользователя MySQL:
mysqladmin -u root password <newpassword>
На этом установка и предварительная подготовка закончена, можно приступать к конфигурированию.
В файле /usr/local/etc/php-fpm.conf настраиваем работу php-fpm через сокет, что даст небольшой прирост производительности по сравнению с работой по tcр:
;listen = 127.0.0.1:9000
listen = /tmp/php-fpm.sock
Больше здесь можно ничего не править, открываем файл /usr/local/etc/nginx/nginx.conf для настройки Nginx:
user www;
worker_processes 8; # Рекомендуется выставлять по количеству ядер
worker_priority -5; # Повышенный приоритет для снижения задержек из за исполнения скриптов
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
use kqueue; # Рекомендуется для FreeBSD
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
send_timeout 30s;
reset_timedout_connection on;
#gzip on;
upstream fpm {
server unix:/tmp/php-fpm.sock;
}
server {
listen 80;
server_name my-site.ru www.my-site.ru;
charset cp1251;
root /usr/local/www/nginx/my-site;
#access_log logs/host.access.log main;
location / {
worker_processes 8; # Рекомендуется выставлять по количеству ядер
worker_priority -5; # Повышенный приоритет для снижения задержек из за исполнения скриптов
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
use kqueue; # Рекомендуется для FreeBSD
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
send_timeout 30s;
reset_timedout_connection on;
#gzip on;
upstream fpm {
server unix:/tmp/php-fpm.sock;
}
server {
listen 80;
server_name my-site.ru www.my-site.ru;
charset cp1251;
root /usr/local/www/nginx/my-site;
#access_log logs/host.access.log main;
location / {
root /usr/local/www/nginx/my-site;
index index.php;
# Следующие три строки нужны для работы Netcat
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
if (!-e $request_filename) {
rewrite ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 last;
}
}
error_page 404 /netcat/require/e404.php; # Нужно для функционирования Netcat
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
fastcgi_pass fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
}
Запускаем демонов php-fpm и nginx:
/usr/local/etc/rc.d/nginx start
/usr/local/rtc/rc.d/php-fpm start
Теперь осталось только создать базу данных для Netcat и пользователя для работы с ней:
mysql -u root -p
mysql> create database netcat;
mysql> grant all on netcat.* to netcat_user@localhost identified by 'netcat_password';
Вот и всё, можно заниматься установкой Netcat'а.