Я использую node.js и socket.io.
Мое приложение работает на порте 3000. Приложение начинается с URL: mydomain.com:3000/
Я хочу запустить приложение из mydomain.com. Я хочу удалить порт из URL.
Где и как я могу установить этот параметр?
Я использую node.js и socket.io.
Мое приложение работает на порте 3000. Приложение начинается с URL: mydomain.com:3000/
Я хочу запустить приложение из mydomain.com. Я хочу удалить порт из URL.
Где и как я могу установить этот параметр?
Найдите server.listen
и измените порт с 3000
на 80
. Не забывайте, что вам нужно запустить программу с возможностью CAP_NET_BIND_SERVICE
(подробнее см. capabilities(7)
), чтобы привязывать к портам менее 1024 в системах Linux. root
привилегия будет содержать эту и другие привилегии.
Если вы хотите запустить его "без порта", как вы описываете, вы фактически будете запускать его на порту 80. Вы не можете сделать это без прав root.
Итак, вместо
node server.js
Вам нужно
sudo node server.js
Предполагается, что у вас есть разрешения sudo на компьютере, на котором вы пытаетесь запустить его. В противном случае вы столкнетесь с проблемами EACCESS. Это то, что пытается сказать вам sarnold.
Вот как я это сделал, потому что я использую apache, а я не могу использовать порт 80, потому что он его резервирует. Итак, я настраиваю прокси-проход. Я устанавливаю папку my/src для игнорирования.
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/www.mysite.com"
ServerName local.www.mysite.com
ServerAlias local.www.mysite.com
ProxyPass /src !
ProxyPass / http://local.www.mysite.com:3000/
ProxyPassReverse / http://local.www.mysite.com:3000/
</VirtualHost>
Сначала вы, вероятно, захотите запустить приложение с вашего локального хоста, "127.0.0.1". Вы можете удалить порт, просто опуская его в настройке node.js. По умолчанию веб-браузеры ищут серверы на порту 80. Если вы хотите, чтобы ваш сервер работал на порте 3000 по какой-то причине, он должен быть включен в URL-адрес.