Веб-сервер Nginx и PHP-FPM (настройка мобильного хостинга) - пополняется

Т.к. система должна быть максимально мобильной, поднимаю веб-сервер на базе виртуальной машины. Все программное обеспечение использую с открытым исходным кодом, бесплатное.

Для виртуальной машины вырал virtualbox:
https://www.virtualbox.org/wiki/Downloads

Операционную систему использую Linux Ubuntu:
http://www.ubuntu.com/

После того, как установил Linux Ubuntu в вируальной машине VirtualBox, устанавливаю веб-сервер nginx и PHP-FPM:

apt-get install nginx
 
apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi \
  php5-fpm php-pear php5-mcrypt
 
Редактируем файл:
/etc/php5/fpm/php.ini

cgi.fix_pathinfo = 0

Редактируем файл:
/etc/php5/fpm/pool.d/www.conf

security.limit_extensions = .php .php3 .php4 .php5
listen = /var/run/php5-fpm.sock 

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

Перезагружаем:
service php5-fpm restart


Для удобства, ставлю некоторые из утилит:

apt-get install mc, htop 
 
Устанавливаю DNS-сервер для настройки ns-сервера и доменных зон:

apt-get install bind9 


mc - это удобный файловый менеджер.
htop - удобное средство для просмотра загрузки процессоров.

apt-get install whois

whois - сервис для получения информации о доменах.

Еще некоторые команды, которые могут понадобиться при настройке доменов. 

dig название домена - определение информации о настройках домена .
nslookup название домена - просмотр ns-серверов домена.

Устанавливаем Apache2

Для сайтов, которым нужен rewrite устанавливаем Apache2:

apt-get install apache2

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

apt-get install libapache2-mod-php5
apt-get install php5-curl

Ставим RPaf
RPaf нужен для определения ip-адреса клиента. 
apt-get install libapache2-mod-rpaf
a2enmod rpaf


Устанавливаем MySQL

apt-get install mysql-server mysql-client mysql-common

Устанавливаем Memcahed

apt-get install memcached php5-memcached

 Настройка рабочего места веб-разрабочика

Для работы с веб-сервером, удобно поставить такое программное-обеспечение:
putty - клиент терминала.
filezilla - файловый менеджер, передающий файлы по ssh.

Данное программное обеспечение - с открытым исходным кодом, бесплатное и кросс-платформенное. Прекрасно зарекомендовало себя при работе с веб-сервером.

Настройка конфигов Nginx

server {
   listen *:80; 

   server_name НАЗВАНИЕ_ДОМЕНА;
   access_log /var/log/nginx/access.log;


   # Перенаправление на back-end
   location / {
   proxy_pass НАЗВАНИЕ_ДОМЕНА:8080/;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_connect_timeout 120;
   proxy_send_timeout 120;
   proxy_read_timeout 180;
   }


   # Статическиое наполнение отдает сам nginx
   # back-end этим заниматься не должен
   location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt
|exe|7z|rar|pdf)$ {
   root КОРНЕВОЙ_КАТАЛОГ;
  }
}






Другие полезные утилиты на хостинге


Просмотр объема трафика в терминале:
apt-get install iptraf
Чтоб просмотреть трафик, просто наберите в терминале:  iptraf

Просмотр объема трафика в веб-виде:
apt-get install darkstat

После установки, изменяем конфиг /etc/darkstat/init.cfg
# Turn this to yes when you have configured the options below.
START_DARKSTAT=yes

# Don't forget to read the man page.

# You must set this option, else darkstat may not listen to
# the interface you want
INTERFACE="-i eth0"

#DIR="/var/lib/darkstat"
PORT="-p 666"
#BINDIP="-b 127.0.0.1"
#LOCAL="-l 192.168.0.0/255.255.255.0"

# File will be relative to $DIR:
#DAYLOG="--daylog darkstat.log"

# Don't reverse resolve IPs to host names
#DNS="--no-dns"

#FILTER="not (src net 192.168.0 and dst net 192.168.0)"

# Additional command line Arguments:
# OPTIONS="--syslog --no-macs"


service darkstat start

Чтоб посмотреть трафик просто в браузере наберите:
http://ip-адрес_Вашего_сервера:666

Комментарии

Популярные сообщения