WebSocketサンプルとして作成した単純なChatアプリです。
サーバー側はWS、クライアント側はAngularで実装。
(電文形式にはJSON-RPC2を使用。)
- CentOS 7
- Node.js v16.x
- nginx 1.12.x
- TypeScript 3.x
- WS 6.x
- Node-config 2.x
- Log4js 3.x
- json-rpc2-implementer 0.4.x
- Angular 14.x
- ngx-translate 14.x
- simple-ng-websocket 0.3.x
- Mocha 5.x
- Power-assert 1.x
- Google Chrome Ver106
※ 他は未確認
- Vagrant 2.2.x - 仮想環境管理
- Hyper-V - 仮想環境
- Visual Studio Code - アプリ開発用エディター
- VMルートフォルダ
- chat-svr - Node.js Webサーバーソース
- config - アプリ設定
- chat-web - Angular Webアプリソース
- ansible - Ansible関連ファイル
- chat-svr - Node.js Webサーバーソース
- Vagrantをインストールした後、ファイル一式をVMのフォルダとする場所に展開。
vagrant up
でVM環境を構築(アプリの初回ビルド等も自動実行)。
※ npm install
でエラーになる場合は vagrant provision
でもう一度実行してみてください。
WebアプリはVM起動時に自動的に立ち上がります。
デフォルトのVMでは http://[DHCPで振られたIP]/ でアクセス可能です。
※ Microsoft EdgeだとプライベートIPはアクセスできない場合あり。
※ 自動起動に失敗する場合は、後述の npm start
コマンドを実行してください。
Webアプリの操作用に、以下のようなサーバーコマンドを用意しています。
アプリのビルドや再起動などを行う場合は、VMにログインして chat-svr
, chat-web
ディレクトリでコマンドを実行してください。
chat-svr
npm start
- アプリの起動npm run production
アプリの起動(運用モード)
npm restart
- アプリの再起動npm stop
- アプリの停止
chat-svr/chat-web
共通npm run build
- アプリのビルドnpm start
- アプリのデバッグ起動npm run watch
- アプリのビルド(ファイル更新監視)npm test
- アプリのユニットテスト実行npm run lint
- アプリの静的解析ツールの実行
各種ログは /var/log/local/ws-chat-example
下に出力されます。
アクセスログ、デバッグログ、エラーログを出力します。