Подключаемся к серверу, осваиваем Linux и ставим веб-сервер.
SSH — безопасный способ управлять удалённым сервером из своего терминала. Через Google Cloud это делается одной командой (ключи создаются автоматически):
gcloud compute ssh ИМЯ_VM \
--zone=us-central1-a \
--project=ТВОЙ_PROJECT_ID
# Или классически, если настроен ключ:
ssh user@34.56.34.99После входа приглашение в терминале сменится — теперь команды выполняются на сервере, а не на твоём компьютере.
Claude Code тоже умеет работать с сервером: дай ему команду подключения, и он будет выполнять задачи на сервере за тебя — ровно так настроен этот курс.
whoami # кто я
pwd # где я
ls -la # файлы с деталями и скрытые
sudo COMMAND # выполнить как администратор
apt update # обновить список пакетов
htop # что нагружает сервер (q — выход)
df -h # сколько места на дискеcd /var/www # перейти в папку
cd ~ # домой
cd .. # на уровень вверх
ls -lh # список с размерами по-человечески
mkdir -p a/b/c # создать вложенные папки
touch file.txt # создать пустой файл
cp a.txt b.txt # копировать
cp -r dir1 dir2 # копировать папку
mv old.txt new.txt # переименовать / переместить
rm file.txt # удалить файл
rm -r dir # удалить папку (осторожно!)
cat file.txt # показать содержимое
less file.txt # листать большой файл (q — выход)
head -n 20 f.txt # первые 20 строк
tail -n 50 f.txt # последние 50 строк
tail -f app.log # следить за логом в реальном времениgrep "ошибка" app.log # найти строки с текстом
grep -ri "todo" . # рекурсивно, без учёта регистра
find . -name "*.html" # найти файлы по имени
find / -type d -name nginx # найти папки
wc -l file.txt # сколько строк
history # история команд
ls -la | grep .conf # конвейер: вывод одной команды в другуюСимвол | (конвейер) соединяет команды: левая отдаёт вывод правой. > пишет вывод в файл, >> дописывает в конец.
ps aux # все запущенные процессы
ps aux | grep nginx # найти процесс по имени
kill 1234 # завершить процесс по PID
kill -9 1234 # принудительно
top # нагрузка в реальном времени
free -h # сколько свободно памяти
df -h # место на диске
du -sh * # размер папок в текущей директории
uptime # сколько работает сервер
ip a # сетевые адреса
ss -tlnp # какие порты слушаютсяsudo systemctl status nginx # статус сервиса
sudo systemctl start nginx # запустить
sudo systemctl stop nginx # остановить
sudo systemctl restart nginx # перезапустить
sudo systemctl reload nginx # перечитать конфиг без простоя
sudo systemctl enable nginx # автозапуск при загрузке
sudo journalctl -u nginx -n 50 # последние 50 строк логов сервиса
sudo journalctl -u nginx -f # следить за логами вживуюsudo apt update # обновить список пакетов
sudo apt upgrade -y # обновить установленное
sudo apt install -y git curl # установить программы
sudo apt remove nginx # удалить
apt search node # поиск пакета
which python3 # где лежит программаls -l # колонка вроде -rwxr-xr-x — это права
chmod +x script.sh # сделать файл исполняемым
chmod 644 file.txt # чтение всем, запись владельцу
sudo chown www-data:www-data -R /var/www/site # сменить владельца
sudo chmod -R 755 /var/www/site # права на папку сайтаПрава в виде 755: первая цифра — владелец, вторая — группа, третья — все остальные. 7=чтение+запись+запуск, 5=чтение+запуск, 4=только чтение.
nano /etc/nginx/sites-available/site # простой редактор
# Внутри nano: Ctrl+O — сохранить, Ctrl+X — выйти
vim file.txt # мощный редактор: i — ввод, Esc — выход в режим, :wq — сохранить и выйтиНе хочешь редактировать вручную? Подключи Claude Code к серверу и просто скажи: «открой конфиг nginx и добавь редирект». Агент сделает это командами за тебя.
В Linux действия, затрагивающие систему (установка программ, правка системных файлов), требуют прав администратора — пишешь sudo перед командой. Будь аккуратен: sudo может и сломать систему.
Никогда не запускай команды из интернета через sudo, не понимая, что они делают. Особенно rm -rf.
sudo apt update && sudo apt upgrade -yВеб-сервер — программа, которая принимает запросы из интернета (по портам 80/443) и отдаёт твои страницы. Два главных: nginx (лёгкий, быстрый, популярен для статики и прокси) и Apache (классика, гибкий через .htaccess). Мы используем nginx.
sudo apt install -y nginx
sudo systemctl enable --now nginx # запустить и в автозагрузку
sudo systemctl status nginx # проверить, что работаетТеперь открой в браузере внешний IP сервера (например http://34.56.34.99) — увидишь дефолтную страницу nginx. Сервер слушает мир!
Не открывается? Проверь, что в firewall облака разрешены порты 80/443 (мы делали это в уроке 2) — без этого никто снаружи не достучится.
/var/www/html/./etc/nginx/sites-available/ и sites-enabled/./var/log/nginx/access.log и error.log.sudo nginx -t, перезагрузка: sudo systemctl reload nginx.Зайди на свой сервер по SSH, обнови систему, установи nginx и открой его дефолтную страницу по внешнему IP в браузере. Затем замени её на простой «Hello» силами агента.
Незнакомое слово? Нажми — откроется полное объяснение в словаре.