Подготовка web сервера.
Статья предназначена для начинающих веб разработчиков.
Подготавливаем web server для разворачивания web приложения, для этого необходимо:
- Node.js, чтобы запустить приложение;
- MongoDB, чтобы работал сервер с базой данных;
- Git, чтобы загружать код на сервер.
Все манипуляции проводил на Ubuntu 22.04.2 LTS.
Вспомогательные команды:
1. node -v #просмотр установленной версии nodejs.
2. npm -v #просмотр установленной версии npm.
3. git --version #просмотр установленной версии git.
4. sudo ufw status verbose #просмотр статус firewall.
5. sudo ufw app list #просмотр профили приложений для firewall.
6. sudo systemctl status docker #просмотр статус docker
1. Устанавливаем npm.
sudo apt install npm
2. Устанавливаем nvm (node version manager) для установки nodejs.
1. sudo apt install curl #установка curl.
2. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash #установка NVM.
После этого закройте сессию терминала (Ctrl+D или командой exit) и откройте заново. Это нужно, чтобы применились новые настройки NVM.
3. Устанавливаем Nodejs.
1. nvm list-remote #просмотр всех версий Nodejs.
2. nvm install v16.20.1 #указываем необходимую версию Nodejs.
4. Устанавливаем Nginx.
1. sudo apt install nginx #устанавливаем nginx.
2. sudo systemctl enable --now nginx #запускаем и добавлем nginx в автозапуск.
5. Настраиваем firewall в Ubuntu.
1. sudo ufw allow 'Nginx Full' #открытия портов Nginx (80 и 443).
2. sudo ufw allow OpenSSH #открытия портов OpenSSH (22).
3. sudo ufw enable #запускаем фаирвол.
6. Разворачиваем всю инфраструктуру на самом сервере.
6.1 Устанавливаем MongoDB.
1. sudo apt-get install gnupg curl
2. curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
3. echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
4. sudo apt-get update #Обновляем пакеты
5. sudo apt-get install -y mongodb-org #Ставим монго
6. sudo systemctl start mongod #Запускаем монго
7. sudo systemctl enable mongod.service #Добавляем монго в автозапуск
6.2 Настраиваем MongoDB.
1. mongosh --port 27017 #Присоединиться к mongodb.
2. use admin #Войдите как администратор базы admin.
3. #Создаем пользователя rootuser с паролем rootpassword, с полными правами ко всем таблицам. (роль «userAdminAnyDatabase». Эта роль позволяет пользователю иметь права администратора для всех баз данных в MongoDB.)
db.createUser({
user: "rootuser",
pwd: "rootpassword",
roles: [{role: "userAdminAnyDatabase" , db:"admin"}]
})
7. Разворачиваем всю инфраструктуру в docker container.
Установка Docker и Docker Compose.
Автоматическая установка.
Скачать и выполнить официальный скрипт.
# Установка утилиты для скачивания файлов
sudo apt install -y curl
# Эта команда скачает скрипт для установки докера
wget https://get.docker.com/ -O get-docker.sh
# Эта команда запустит его
sh get-docker.sh
Устанавливаем docker и docker-compose.
sudo apt install docker-ce docker-compose -y
Запуск без sudo docker и docker-compose.
sudo usermod -aG docker ${USER} # после команды перезапустить терминал
Published @ 04.08.2023 22:30