В статье описана первичная настройка сервера. Описанные действия, проводились на виртуальной машине Vagrant и VPS.
Установим Nginx последней стабильной версии (на данный момент 1.12.1).
Для настройки репозитория нужно добавить в конец файла /etc/apt/sources.list пару строк.
Открываем файл sources.list для редактирования
Дописываем в конец файла строки:
Где xenial – кодовое имя дистрибутива Ubuntu (16.04 – это xenial).
Сохраняем и закрываем файл.
Для проверки подлинности подписи репозитория nginx необходимо добавить ключ, которым были подписаны пакеты и репозиторий, в связку ключей программы apt.
Скачиваем ключ
Добавляем файл в связку ключей
Далее устанавливаем Nginx
Добавляем репозиторий
Обновляем список репозиториев
Устанавливаем пакеты
Импортируем публичный ключ GPG MongoDB
Создаем файл списка для MongoDB
Обновляем список репозиториев
Устанавливаем последнюю стабильную версию MongoDB (на данный момент 3.4)
Проверяем запустилась ли MongoDB
Если нет, то добавляем MongoDB в автозагрузку
Создаем скрипт
Добавляем строки
Сохраняем файл и делаем так, чтобы скрипт можно было исполнять
Добавляем скрипт mongodstartup в автозагрузку
Если понадобится удалить скрипт из автозагрузки, выполнить команду:
Стартуем MongoDB
Установите composer следуя инструкции на официальном сайте.
После этого для глобальной установки composer пропишем команду
Перейдите в папку с вашим проектом
Установим библиотеку последней версии (на данный момент 1.1.2)
Редактируем файл настроек Nginx
Изменяем блок location /
Раскоментируем блок location ~ \.php$ — убираем # и изменяем на:
Перезагрузим конфигурацию и службу Nginx
Сервер готов.
В статье не затронуты вопросы безопасности и оптимизации. Для лучшего понимания вопроса, ознакомьтесь с официальной документацией проектов:
Документация Nginx
Документация MongoDB
Работа с библиотекой MongoDB на PHP
Установка Nginx
Установим Nginx последней стабильной версии (на данный момент 1.12.1).
Для настройки репозитория нужно добавить в конец файла /etc/apt/sources.list пару строк.
Открываем файл sources.list для редактирования
sudo nano /etc/apt/sources.list
Дописываем в конец файла строки:
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Где xenial – кодовое имя дистрибутива Ubuntu (16.04 – это xenial).
Сохраняем и закрываем файл.
Для проверки подлинности подписи репозитория nginx необходимо добавить ключ, которым были подписаны пакеты и репозиторий, в связку ключей программы apt.
Скачиваем ключ
wget https://nginx.org/keys/nginx_signing.key
Добавляем файл в связку ключей
sudo apt-key add nginx_signing.key
Далее устанавливаем Nginx
sudo apt-get update
sudo apt-get install nginx
Установка PHP 7.1
Добавляем репозиторий
sudo add-apt-repository ppa:ondrej/php
Обновляем список репозиториев
sudo apt-get update
Устанавливаем пакеты
sudo apt-get install php7.1 php7.1-fpm php7.1-mbstring php7.1-mongo
Установка MongoDB
Импортируем публичный ключ GPG MongoDB
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Создаем файл списка для MongoDB
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Обновляем список репозиториев
sudo apt-get update
Устанавливаем последнюю стабильную версию MongoDB (на данный момент 3.4)
sudo apt-get install mongodb-org
Проверяем запустилась ли MongoDB
ps -ax | grep mongod
Если нет, то добавляем MongoDB в автозагрузку
Создаем скрипт
sudo nano /etc/init.d/mongodstartup
Добавляем строки
#! /bin/sh
sudo service mongod start
Сохраняем файл и делаем так, чтобы скрипт можно было исполнять
sudo chmod +x /etc/init.d/mongodstartup
Добавляем скрипт mongodstartup в автозагрузку
sudo update-rc.d mongodstartup defaults 80
Если понадобится удалить скрипт из автозагрузки, выполнить команду:
sudo update-rc.d -f /etc/init.d/mongodstartup remove
Стартуем MongoDB
sudo service mongod start
Установка composer
Установите composer следуя инструкции на официальном сайте.
После этого для глобальной установки composer пропишем команду
sudo mv composer.phar /usr/local/bin/composer
Установка библиотеки MongoDB для php
Перейдите в папку с вашим проектом
cd /папка/c/проектом
Установим библиотеку последней версии (на данный момент 1.1.2)
composer require mongodb/mongodb
Настройка Nginx
Редактируем файл настроек Nginx
sudo nano /etc/nginx/conf.d/default.conf
Изменяем блок location /
location / {
# путь к файлам вашего проекта
root /vagrant/pomodorolab.info/public_html;
# перенаправление всех несуществующих файлов на index.php
try_files $uri $uri/ /index.php?$args;
#отключение кеша
sendfile off;
# дописываем index.php, если его нет
index index.php index.html index.htm;
}
Раскоментируем блок location ~ \.php$ — убираем # и изменяем на:
location ~ \.php$ {
# Закрываем доступ к несуществующим php файлам
try_files $uri = 404;
# путь к файлам вашего проекта
root /vagrant/pomodorolab.info/public_html;
# путь к unix-сокету php
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
#Задаём имя файла, который при создании переменной $fastcgi_script_name будет добавляться после URI, если URI заканчивается слэшом
fastcgi_index index.php;
#Задаём параметр, который будет передаваться FastCGI-серверу.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Перезагрузим конфигурацию и службу Nginx
sudo nginx -s reload
sudo service nginx restart
Сервер готов.
В статье не затронуты вопросы безопасности и оптимизации. Для лучшего понимания вопроса, ознакомьтесь с официальной документацией проектов:
Документация Nginx
Документация MongoDB
Работа с библиотекой MongoDB на PHP
ksenobayt
Ну и зачем здесь очередной how-to очередной лампы? Нет ни завязки, ни преамбулы, ни нафига это нужно, ни где и с чем это можно применить — нет, просто гора команд без каких-либо подробностей.
Пост, IMHO, не привносит на ресурс ничего нового и ценного, а является, в сущности, копипастой туториала по гайду.