Nginx — это веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах. Применяется в основном для статических сайтов.

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

sudo apt-get install mysql-server

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

sudo apt-get install nginx
sudo service nginx start

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

sudo apt-get install php5-fpm
sudo apt-get install php5-imagick

В файле php.ini меняем размер загружаемых файлов с стандартного 2М на 10М

sudo nano /etc/php5/fpm/php.ini
upload_max_filesize = 2M 

Нажимаем Control + X для закрытия и сохранения файла.

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

sudo apt-get install phpmyadmin

При установке опции apache or lighttpd должны быть отключены!

Пароль необходимо указать такой же, как и при установке MySQL.

Для завершения перезапускаем PHP командой

sudo service php5-fpm restart

Создаем папку и устанавливаем права доступа (имя example.com меняем на свои данные)

sudo mkdir /srv/www
sudo chown -R YOURUSERNAME:www-data /srv/www
sudo chmod -R 755 /srv/www
mkdir /srv/www/example.com
cd /srv/www/example.com
mkdir logs
nano logs/access.log
nano logs/error.log
mkdir public 

Далее необходимо прописать настройки домена. Открываем файл example.com

sudo nano /etc/nginx/sites-available/example.com

и вставляем следующий ниже код:

server {
    server_name example.com 192.168.1.116;
    access_log /srv/www/example.com/logs/access.log;
    error_log /srv/www/example.com/logs/error.log;
    root /srv/www/example.com/public/;
    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.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 /srv/www/example.com/public$fastcgi_script_name;
}
 location /phpmyadmin {
   root /usr/share/;
   index index.php index.html index.htm;
   location ~ ^/phpmyadmin/(.+\.php)$ {
     try_files $uri =404;
     root /usr/share/;
     fastcgi_pass unix:/var/run/php5-fpm.sock;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include /etc/nginx/fastcgi_params;
    }
 location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
   root /usr/share/;
 }
}
  location /phpMyAdmin {
     rewrite ^/* /phpmyadmin last;
  }
}

Набираем

sudo ln -s /etc/nginx/sites-available/yoursitename 
/etc/nginx/sites-enabled/yoursitename

и перезагружаем службу

sudo service nginx restart

В файл index.php вставляем строку < ?php phpinfo(); ?>

nano /srv/www/example.com/public/index.php

< ?php phpinfo(); ?>

Нажимаем Control + X для сохранения и закрытия файла.

Web сервер доступен по адресу http://IP-адрес вашего web-сервера

Для записи файлов в папку необходимо поставить службу VSFTPD

sudo apt-get install vsftpd

В конфигурационный файл вносим следующие изменения

sudo nano /etc/vsftpd.conf

Изменяем значение с «anonymous_enable=YES» на «anonymous_enable=NO»
Активируем следующие опции:
local_enable=YES
write_enable=YES
local_umask=022

Сохраняем, закрываем и перезапускаем службу

sudo service vsftpd restart

Полезные команды NGNIX

# /etc/init.d/nginx start
# /etc/init.d/nginx stop
# /etc/init.d/nginx restart
# /etc/init.d/nginx condrestart
# /etc/init.d/nginx try-restart
# /etc/init.d/nginx force-reload
# /etc/init.d/nginx upgrade
# /etc/init.d/nginx reload
# /etc/init.d/nginx status
# /etc/init.d/nginx help
# /etc/init.d/nginx configtest

Стандартные порты и пути к файлам Nginx

/etc/nginx/ — директория содержащая файлы настроек Nginx сервера;
/etc/nginx/conf.d/ — директория содержащая файлы настроек SSL и виртуальных хостов (vhost);
/etc/nginx/nginx.conf — основной файл настроек;
/var/log/nginx/error.log — логи ошибок;
/var/log/nginx/access.log — логи доступа;
/usr/share/nginx/html/ — корневая директория сайта по умолчанию (document root);
TCP 80 — HTTP порт по умолчанию для Nginx;
TCP 443 — HTTPS порт по умолчанию для Nginx.