Как узнать, кто занимает localhost:3000?
Запускал недавно сборку проекта через Grunt, проект скачал с гитхаба, сборщик работал с browserSync, теперь после остановки вотчера у меня тот проект висит сам по себе на localhost:3000, сам проект я удалил, грант удалил, ноут перезагружал, и после перезагрузки на локалхост:3000 снова висит тот проект, что я скачивал с гитхаба.
Чистил вхост в папке с виндой, все равно.
Что делать? Как узнать, какой процесс запускает этот сервер и как его закрыть?
- Вопрос задан более трёх лет назад
- 3346 просмотров
Комментировать
Решения вопроса 3
Кирилл Несмеянов @SerafimArts
Junior HTML Developer
netstat -ano — там будет PID процесса.
Затем открыть диспечер (Ctrl+Shift+Esc) и посмотреть PID процесса кто именно.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Stalker_RED @Stalker_RED
Жмешь win+R, запускаешь cmd, пишешь там netstat -ano — получаешь список процессов, которые работают с сетью и PID в последнем столбце. Можно сразу netstat -ano | find «3000» , чтобы проще было искать.
Дальше открываешь диспетчер задач, или пишешь в консоли «tasklist»
Снова же, можно tasklist | find «XXX» где вместо XXX вписать PID, полученный на предыдущем шаге.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Dima Polos @dimovich85 Автор вопроса
https://u-academy.net/
Всем спасибо, за подсказки! Нет ни одного процесса связанного с локалхост:3000. НО! Я разобрался, тут все запутаннее оказалось. Расскажу, может кому поможет.
Проблема оказалась в браузере. Помогла полная очистка куков, истории и данных от приложений.
Я скачал с гитхаба исходники PWA — progressive web app, скачал, чтобы изучить эту технологию. PWA основывается на объекте web worker (js), который как бы «живет» в браузере, как отдельный процесс и позволяет веб приложению работать на базе веб технологий, но при этом выглядеть как нативное. Так как это было приложение-пример, то разработчики сделали web worker, который перехватывает запросы на локалхост:3000 и обрабатывает его сам. Если бы это было реальное приложение, оно бы перехватывало запросы на адреса своих серверов, а другие адреса не трогало, а тут приложение было настроенно на локалхост. Так как это приложение я установил с помощью хрома, который по умолчанию, то проблема была только в хроме, я попробовал перед очисткой истории зайти через ИЕ на локалхост и не получил ответа, тогда как хром по прежнему показывал мне то самое приложение. Очистив куки, кеш и данные приложений все вернулось на места.
Настройка локальной разработки для Статических веб-приложений Azure
При публикации в облаке сайт Статических веб-приложений Azure объединяет множество служб, которые работают вместе, как если бы они были одним и тем же приложением. К этим службам относятся:
- Статическое веб-приложение
- API Функций Azure
- Службы проверки подлинности и авторизации
- Службы маршрутизации и настройки
Эти службы должны взаимодействовать друг с другом, а Статические веб-приложения Azure обеспечивают эту интеграцию в облаке.
В локальной среде эти службы не связаны.
Для обеспечения возможностей, аналогичных возможностям Azure, интерфейс командной строки Статических веб-приложений Azure предоставляет следующие службы.
- Локальный статический сервер сайта
- Прокси-сервер к серверу разработки интерфейсной платформы
- Прокси-сервер для конечных точек API — доступен через Azure Functions Core Tools
- Имитация сервера проверки подлинности и авторизации
- Принудительное применение локальных маршрутов и параметров конфигурации
Часто для сайтов, созданных с помощью интерфейсной платформы, требуется параметр конфигурации прокси-сервера для правильной обработки запросов в маршруте api . При использовании интерфейса командной строки для статических веб-приложений Azure значение расположения прокси-сервера равно /api , а без CLI — значение http://localhost:7071/api .
Как это работает
На следующей диаграмме показано, как запросы обрабатываются локально.

Перейдите к http://localhost:4280 приложению, обслуживаемого интерфейсом командной строки.
- Запросы, отправленные на порт 4280 , перенаправляются на соответствующий сервер в зависимости от типа запроса.
- Запросы статического содержимого, такие как HTML или CSS, обрабатываются внутренним сервером статического содержимого CLI или сервером интерфейсной платформы для отладки.
- Запросы проверки подлинности и авторизации обрабатываются эмулятором, который предоставляет приложению фиктивный профиль удостоверения.
- Среда выполнения Core Tools функций 1 обрабатывает запросы к API сайта.
- Ответы от всех служб возвращаются в браузер, как если бы все они были единственным приложением.
В следующей статье описаны шаги по запуску приложения на основе узлов, но процесс совпадает с любым языком или средой. После запуска пользовательского интерфейса и приложений API Функции Azure самостоятельно запустите интерфейс командной строки Статические веб-приложения и укажите его на запущенные приложения с помощью следующей команды:
swa start http://localhost: --api-location http://localhost:7071
При необходимости при использовании swa init команды Статические веб-приложения CLI просматривает код приложения и создает файл конфигурации swa-cli.config.json для ИНТЕРФЕЙСА командной строки. При использовании файла swa-cli.config.json можно запустить swa start для локального запуска приложения.
1 Функции Azure Core Tools автоматически устанавливаются интерфейсом командной строки, если они еще не находятся в вашей системе.
Необходимые компоненты
- Существующий сайт Статических веб-приложений Azure. Если у вас его нет, начните работу с примера приложения vanilla-api.
- Node.js с npm: запустите версию Node.js LTS, которая включает доступ к npm.
- Visual Studio Code: используется для отладки приложения API, но не требуется для интерфейса командной строки.
Начало работы
Откройте терминал в корневой папке существующего сайта Статических веб-приложений Azure.
npm install -D @azure/static-web-apps-cli
Совет Если вы хотите установить SWA CLI глобально, используйте -g вместо -D этого. Однако настоятельно рекомендуется установить SWA в качестве зависимости разработки.
swa init
swa start
Другие способы запуска CLI
| Description | Command | Комментарии |
|---|---|---|
| Обслуживание определенной папки | swa start ./ | Замените именем выходной папки. |
| Использование запущенного сервера разработки платформы | swa start http://localhost:3000 | Эта команда работает при наличии экземпляра приложения, работающего под портом 3000 . Обновите номер порта, если конфигурация отличается. |
| Запуск приложения Функций в папке | swa start ./ —api-location ./api | Замените именем выходной папки. Эта команда ожидает, что API приложения будет содержать файлы в папке API . Измените это значение, если конфигурация отличается. |
| Использование запущенного приложения Функций | swa start ./ —api-location http://localhost:7071 | Замените именем выходной папки. Эта команда ожидает, что приложение Функции Azure будет доступно через порт 7071 . Обновите номер порта, если конфигурация отличается. |
Эмуляция авторизации и проверки подлинности
Интерфейс командной строки Статических веб-приложений эмулирует поток безопасности, реализованный в Azure. При входе пользователя в систему можно задать фиктивный профиль удостоверения, возвращаемый приложению.
Например, при попытке перейти /.auth/login/github на страницу возвращается страница, которая позволяет определить профиль удостоверения.
Эмулятор работает с любыми поставщиками безопасности, а не только с GitHub.

Эмулятор предоставляет страницу, позволяющую указать значения следующих параметров для субъекта-клиента.
| значение | Описание |
|---|---|
| Username | Имя учетной записи, связанной с поставщиком безопасности. Это значение отображается как свойство userDetails в субъекте клиента и создается автоматически, если значение не было указано. |
| Код пользователя | Значение, формируемое интерфейсом командной строки автоматически. |
| Роли | Список имен ролей, в котором каждое имя находится на отдельной строке. |
| Утверждения | Список утверждений пользователей, где каждое имя находится в новой строке. |
После входа в систему
- Можно воспользоваться конечной точкой /.auth/me или конечной точкой функции, чтобы получить субъект клиента для пользователя.
- При переходе по пути /.auth/logout субъект клиента удаляется и фиктивный пользователь выходит из системы.
Отладка
В статическом веб-приложении есть два контекста отладки. Первый предназначен для сайта статического содержимого, а второй — для функций API. Локальная отладка возможна благодаря тому, что интерфейс командной строки Статических веб-приложений может использовать серверы разработки для одного или обоих этих контекстов.
Ниже показан типичный сценарий, использующий серверы разработки для обоих контекстов отладки.
- Запустите сервер разработки для статического сайта. Эта команда относится к используемой интерфейсной платформе, но часто доступна в форме таких команд, как npm run build , npm start или npm run dev .
- Откройте папку приложения API в Visual Studio Code и запустите сеанс отладки.
- Запустите интерфейс командной строки Статические веб-приложения с помощью следующей команды.
swa start http://localhost: --appDevserverUrl http://localhost:7071
На следующих снимках экрана показаны терминалы для типичного сценария отладки:
Для запуска сайта статического содержимого используется команда npm run dev .

На рисунке ниже показан сеанс отладки приложения API Функций Azure в Visual Studio Code.

Интерфейс командной строки для Статических веб-приложений запускается с использованием обоих серверов разработки.

Теперь запросы, которые проходят через порт 4280 , направляются на сервер статического содержимого или в сеанс отладки API.
Дополнительные сведения о различных сценариях отладки с инструкциями по настройке портов и адресов серверов см. в репозитории интерфейса командной строки для Cтатических веб-приложений Azure.
Пример конфигурации отладки
Visual Studio Code использует файл для включения сеансов отладки в редакторе. Если Visual Studio Code не создает файл launch.json, можно поместить следующую конфигурацию в VScode/launch.json.
localhost
Если вы хотите перейти на http://localhost, то воспользуйтесь быстрыми ссылками для входа:
- http://localhost
- http://localhost:8080
- http://localhost:8081
- http://localhost/phpmyadmin
- http://localhost/WordPress
- http://localhost:3000
- http://localhost/php
- http://localhost/index
- http://localhost/index.php
- http://localhost/server
- http://localhost/bonfire
Что такое localhost
localhost — это универсальное имя хоста, которое всегда указывает на этот же самый компьютер. Точнее говоря, это имя указывает на IP адрес 127.0.0.1, а данный IP уже является специальным адресом, всегда принадлежащий локальному компьютеру.
Если открыть адрес http://localhost в веб-браузере, то будет выполнено подключение к локальному веб-серверу. По этой причине localhost обычно ассоциируется с веб-сервером, но на самом деле localhost можно использоваться самыми разными сетевыми службами: программами для обмены данными между собой, MySQL, SSH, FTP и пр.
Вы можете даже пинговать localhost:
ping localhost
Пинги будут самыми лучшими из всех, какие вы когда-либо видели, поскольку проверяется соединение до этого же самого компьютера, на котором выполняется пинг.
Про loopback будет чуть ниже — на случай, если вам интересна теория, а сейчас рассмотрим, почему не работает localhost.
Как включить localhost
Возможно вы и так знали, что localhost это локальный веб-сервер, но при попытке открыть
http://localhost у вас возникает ошибка, например такая:
Не удается получить доступ к сайту
Сайт localhost не позволяет установить соединение.
Попробуйте сделать следующее:
Проверьте подключение к Интернету.
Проверьте настройки прокси-сервера и брандмауэра.
ERR_CONNECTION_REFUSED
Причин может быть несколько, самая популярная — вы просто не установили веб-сервер. Если это действительно так, то переходите к инструкции «Как установить веб-сервер Apache c PHP, MySQL и phpMyAdmin на Windows».
После завершения указанной инструкции localhost заработает!
Веб-сервер установлен, но localhost не открывается
В этом случае причины могут быть следующие:
- веб-сервер установлен, но его служба не запущена (особенно если раньше работало, а после перезагрузки перестало работать) — вернитесь к инструкции по установке, запустите службу веб-сервера и добавьте её в автозагрузку;
- неправильно настроены права доступа в веб-сервере, либо ошибка в конфигурации — вернитесь к настройке веб-сервера или переустановите его.
127.0.0.1
127.0.0.1 — это специальный IP адрес, который имеет loopback интерфейс. В любой операционной системе имеется поддержка 127.0.0.1, поскольку этот специальный IP описан в протоколе.
Суть работы 127.0.0.1 (а следовательно и localhost, который является именем для указания на этот IP) состоит в том, что пакет, отправленный на адрес 127.0.0.1 на самом деле никуда не отправляется, но при этом система начинает считать, что этот пакет пришёл из сети. То есть образно можно представить так: пакет отправляется на сетевую карту компьютера, там разворачивается и возвращается с сетевой карты обратно в компьютер.
Несмотря на кажущуюся бесполезность, такой подход очень популярен и используется для взаимодействия с самыми разными программами.
http://localhost:8080
Чтобы подключиться к localhost на 8080 порту перейдите по ссылке http://localhost:8080
localhost php
Чтобы использовать PHP на своём компьютере нужно установить веб-сервер. Пошаговую инструкцию смотрите в статье «Как установить веб-сервер Apache c PHP, MySQL и phpMyAdmin на Windows».
localhost phpmyadmin
Аналогично, для получения phpMyAdmin установите веб-сервер.
localhost error
Ошибки могут возникнуть в случае неправильной установки веб-сервера или приложений. Смотрите «Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin».
Связанные статьи:
- Apache для Windows (100%)
- Как запустить Apache на Windows (100%)
- Документация по Apache на русском языке (100%)
- Как подключить PHP к Apache на Windows (100%)
- Как подключить MySQL к Apache на Windows (100%)
- Как и какие функции отключить в PHP (RANDOM — 50%)
Запускаем демо-приложение Canvas App

В этом разделе вы узнаете, как запустить демонстрационный Canvas App «Список дел» локально и на устройстве.
Приложение «Список дел» создано с помощью React-фреймворка Next.js и фреймворка для разработки смартапов SaluteJS.
Для локального тестирования и обмена сообщениями с ассистентом в смартапе подключена библиотека Assistant Client.
Подробно об архитектуре приложения читайте в разделе Настраиваем обмен данными.
Локальный запуск
Для локального запуска в браузере вам потребуется:
- Node.js версии 12.0.0 и выше.
- Интернет для установки зависимостей.
Для запуска приложения на локальном сервере:
- Склонируйте репозиторий смартапа.
- В папке репозитория установите необходимые зависимости с помощью команды:
npm ci
npm run dev
Бэкенд приложения написан с помощью методов SaluteJS и хранится в src/scenario .
Чтобы упростить тестирование интерфейса смартапа, добавьте устройство SberBox с разрешением 1920 х 1080 в список эмулируемых браузером устройств.
Настройка туннелирования локального сервера
Настройте туннелирование с помощью утилиты localtunnel.
Для настройки туннелирования локального сервера сборки смартапа:
-
Соберите смартап с помощью команды:
npm run build
npm start
Для настройки туннелирования вы можете использовать любой удобный инструмент, например ngrok.
lt --port 3000
Создание проекта смартапа
Смартап — проект Studio, который нужен для запуска приложений на поверхностях с ассистентами Салют.
Для запуска приложения на устройстве:
- Войдите в Studio. Для удобства регистрации и тестирования используйте Сбер ID.
- Нажмите Создать проект.
- В разделе Мини-приложения Салют выберите CanvasApp.
- В поле Название укажите «Список дел». При необходимости создайте группу.
- Нажмите Создать проект. Откроется черновик проекта.
- Выберите вкладку Параметры.
- В разделе Активационные имена нажмите Добавить имя и укажите «Запусти туду тест». По этой реплике вы сможете запустить смартап в тестовом окружении в браузере и на поверхностях: в мобильном приложении Салют и на устройствах SberDevices.
Активационное имя демонстрационного смартапа задано файле .env.development , в поле NEXT_PUBLIC_SMARTAPP_INIT_PHRASE . Чтобы смартап автоматически запускался при тестировании в браузере, укажите имя в качестве названия проекта.
https:///api/hook
https://
Запуск приложения на поверхности
Для запуска Canvas App на поверхности:
- Авторизуйтесь на поверхности, используя тот же Сбер ID, что и для входа в Studio.
- Скажите ассистенту «Салют, запусти туду тест».
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.
Документация
Наши продукты
Юридические документы
© 1997–2023 ПАО СберБанк. Генеральная лицензия на осуществление банковских операций от 11 августа 2015 года. Регистрационный номер — 1481
