Старый 24.02.2015, 22:25   #1
Eternity
Администратор
 
Аватар для Eternity
 
Регистрация: 21.11.2014
Сообщений: 2,965
Сказал(а) спасибо: 12
Поблагодарили 86 раз(а) в 80 сообщениях
Настроение: Daring
Репутация: 107
По умолчанию Настройка Сервера Freebsd + Nginx + Php 5 + Php-fpm + Mysql 5

Первым делом ставим коллекцию портов. Порты — это большая коллекция программ (пакетов), которые могут быть вами скомпилированы и установлены. Коллекция портов — это их список, который содержит информацию о версии пакета. Даже если коллекция портов уже была установлена при установке OS, все равно будет не лишним ее обновить. Для установки/обновления портов выполняем команду:

Код:
csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
Процесс установки займет много времени и съест несколько сотен мегабайт траффика. Даже на быстрых соединениях скачивание будет медленным, потому что раздающие сервера не очень быстрые, да и файлов много.
После установки портов мы можем начинать ставить программы. Первым делом удобно получить файловый менеджер с графической оболочкой, чтобы просмотривать файловую систему, котпировать и редактировать файлы. Я использую Midnight Commander. Это популярный консольный файловый менеджер. Он при установке потянет за собой кучу пакетов. Все будет автоматически скачано и установлено. Вам нужно только быть рядом и жать OK во всплывающих окнах. Все опции можно оставить по-умолчанию.
Для установки mc переходим в каталог пакета:


Код:
cd /usr/ports/misc/mc
Компилируем mc:
Код:
make
Устанавливаем mc:
Код:
make install
После установки вводим команду:

Код:
rehash
Она обновит переменные окружения и вы сможете сразу запустить файловый менеджер не указывая полный путь к нему, а лишь название программы.
Теперь можно приступить к установке сервера nginx. Попробуем найт нужный пакет в коллекции портов. прееходим:

Код:
cd /usr/ports
Ищем nginx:
Код:
make search name=nginx
В результатх находим нужный пакет (в нашем случае nginx-0.8.54) и переходим в его каталог:

Код:
cd /usr/ports/www/nginx
Компилируем его. Параметры выбираем под свои нужды. Можно просто оставить все по-умолчанию:

Код:
make
Устанавливаем:
Код:
make install
Настраиваем nginx. Запускаем mc:

Код:
mc
Переходим в каталог /usr/local/etc/nginx и настраиваем nginx: правим файл nginx.conf. Настройки приводить не буду — все очень специфично. Приведу лишь блок server:

Код:
server {
listen * 80;
server_name *example.com;
root /home/example/public_html;
location / {
index index.php index.html;
if (-f $request_filename) {
expires max;
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ index.php last;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_connect_timeout 60;
fastcgi_read_timeout 300;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param *SCRIPT_FILENAME /home/example/public_html/$fastcgi_script_name;
}
}
В приведенном примере мы перенаправляем все запросы, которые не ведут на существующие файлы на скрипт index.php. А он в свою очередь обрабатывается PHP, запущенном в режиме CGI на нашем сервере на порту 9000.
Теперь для того, чтобы сервер nginx заработал во FreeBSD, его нужно разрешить в файле /etc/rc.conf. Открываем его в mc и дописываем строчку:

Код:
nginx_enable=»YES»
И запускаем nginx командой:
Код:
service nginx start
В дальнейшем, для управления работой серверов можно использовать команду service. Самые распространенные собыимя: start, restart, stop, reload.
После запуска nginx при заходе через браузер на IP сервера мы увидим «Welcome to nginx» — это хорошие новости. Сервер работает, но у него нет интерпритатора PHP для обработки запросов.
Ставим PHP. Переход в /usr/ports:

Код:
cd /usr/ports
Ищем PHP:

Код:
make search name=php
Находим нужный порт и преходим в него:

Код:
cd /usr/ports/lang/php5
Компилируем. В настройках выбираем обе версии CLI и CGI, а также FPM — он позволит нам запускать PHP в CGI режиме без лишних программ.

Код:
make
После устанавливаем:

Код:
make install
Затем идем в директорию расширений PHP и устанавливаем их. в списке ставим крестики напротив нужных:

Код:
cd /usr/ports/lang/php5-extensions
make
make install
Сразу рекомендую поставить memcached:
Код:
cd /usr/ports/databases/memcached
make
make install
И для того, чтобы он работал с php, ставим расшиерние:
Код:
cd /usr/ports/databases/pecl-memcached
make
make install
Также сразу поставим APC — систему кэширования PHP скриптов:
Код:
cd /usr/ports/www/pecl-APC
make
make install
Теперь в /etc/rc.conf нужно дописать 2 строчки. Он разрешат запуск PHP и Memcached:
Код:
php_fpm_enable=»YES»
memcached_enable=»YES»
И запускаем их поочереди:

Код:
service memcached start
service php-fpm start
Проверить работоспособность PHP можно, разместив в каталоге nginx сервера файл index.php с любым проверочным кодом. Если вы не правили конфиг nginx.conf, то этот каталог имеет путь /usr/local/www/nginx.
Ну и напоследок можно поставить MySQL сервер.

Код:
cd /usr/ports/databases/mysql55-server
make
make install
В /etc/rc.conf разрешаем mysql:
Код:
mysql_enable=»YES»
Запускаем:

Код:
service mysql-server start
На что следует обратить внимание. После установки у вас будет работающий веб-сервер, настроенный в основном по-умолчанию. Первым делом на сервере нужно включить файрвол и закрыть ненужные порты. Нужно активировать php.ini файл . Для этого в каталоге /usr/local/etc находим файл php.ini-production и переименовываем его просто в php.ini. Сразу можно произвести необходимые настройки — задать лимиты памяти, контроль ошибок, прописать нужную timezone, настроить APC. Также можно настроить пользователя и группу под которыми работает PHP. В файле /usr/local/etc/php-fpm.conf есть соответствующие строчки. Каталог баз данных mysql находится в /var/db/mysql.
Пользоваться всем этим достаточно просто. Мониторить нагрузку на сервер можно командами top и ps, перезапускать сервисы — командой service имя_сервиса restart. Желательно настроить ротацию логов для nginx, чтобы они каждый день очищались и не накапливалось много мусора.
Eternity вне форума   Ответить с цитированием Вверх
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 16:50. Часовой пояс GMT +3.

 
 
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Рейтинг@Mail.ru