Node.jsとsocket.ioを使用します。
アプリケーションはポート3000で実行されます。アプリケーションはURLから開始します。mydomain.com:3000/
mydomain.comからアプリケーションを実行したい-URLからポートを削除したい.
この設定はどこでどのように設定できますか?
_server.listen
_ 呼び出しを見つけて、ポートを_3000
_から_80
_に変更します。 Linuxシステムで1024未満のポートにバインドするには、_CAP_NET_BIND_SERVICE
_機能(詳細についてはcapabilities(7)
を参照)を使用してプログラムを実行する必要があることを忘れないでください。 root
特権には、この特権と他の特権が含まれます。
説明したように「ポートなしで」実行したい場合は、実際にはポート80で実行します。ルート権限なしでは実行できません。
代わりに
node server.js
あなたが必要
Sudo node server.js
これは、実行しようとしているマシンでSudoパーミッションを持っていることを前提としています。そうしないと、EACCESSの問題が発生します。それがsarnoldがあなたに伝えようとしていることです。
これは、Apacheを使用しているのでこれを行った方法です。ポート80は予約されているため使用できません。そこで、プロキシパスを設定します。/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セットアップでポートを省略するだけでポートを削除できます。デフォルトでは、Webブラウザはポート80でサーバーを探します。何らかの理由でサーバーをポート3000で実行する場合は、URLに含める必要があります。