LoginSignup
0
3

More than 3 years have passed since last update.

さくらvpsでnode.jsでSocket.ioする

Last updated at Posted at 2020-09-14

Node.jsインストール

さくらVPSでNode.jsが動く環境を作ってみた - Qiita

curl -L git.io/nodebrew | perl - setup
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
nodebrew install-binary stable
nodebrew use stable
node -v
v14.10.1

Socket.ioインストール

npm install socket.io
npm -v
6.14.8

Node.jsでHTTPSサーバ(https://〜)

node.jsによるHTTPSサーバの作り方 - Node.js/JavaScript入門

var https = require('https');
var fs = require('fs');
var ssl_server_key = 'server_key.pem';
var ssl_server_crt = 'server_crt.pem';
var port = 8443;

var options = {
        key: fs.readFileSync(ssl_server_key),
        cert: fs.readFileSync(ssl_server_crt)
};

Let's EncryptのSSL証明書などの場所 - nwtgck / Ryo Ota

証明書: /etc/letsencrypt/live/ドメイン名/fullchain.pem
秘密鍵: /etc/letsencrypt/live/ドメイン名/privkey.pem

※サーバを立ち上げるときは

sudo node saver

としないと証明書等が読み込めないので注意

テスト用のコンテンツ

Node.jsとSocket.IOによるPCとスマホブラウザのペアリングデモ - ICS MEDIA
ここのソースを丸ごといただいてごにょごにょと・・・

サーバとクライントでポートが違う場合

<script src="https://planet-ape.net:5000/socket.io/socket.io.js"></script>

 socket.io.jsを読み込むときにポート指定

// サーバーに接続
//var socket = io.connect(location.origin);
var socket = io.connect("https://planet-ape.net:5000");

connectするときもポート指定

foreverで起動したままにするときの注意

foreverコマンドでNodeJSアプリを起動したままにする - Qiita
※suしてから実行しないとhttps://〜で動かないので注意(起動自体しない)

ログの出力

console.log('ほげほげ')でも出力できるけど、もうちょいカッコよくしたい。
【Node.js入門】ログ(logger)の管理を効率化するlog4js-nodeの使い方まとめ! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

lessでログを見てみる

ESC[36m[2020-10-08T14:53:32.388] [DEBUG] default - ESC[39m5000でサーバーが起動しました
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #4
ESC[36m[2020-10-08T15:00:47.169] [DEBUG] default - ESC[39m5000でサーバーが起動しました
ESC[32m[2020-10-08T15:01:09.671] [INFO] default - ESC[39m8082
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #5
ESC[36m[2020-10-08T15:11:11.267] [DEBUG] default - ESC[39m5000server start

・・・なんか、変な文字が・・・
lessで制御文字を表示 | technote

-r[enter]
[2020-10-08T14:53:32.388] [DEBUG] default - 5000でサーバーが起動しました
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #4
[2020-10-08T15:00:47.169] [DEBUG] default - 5000でサーバーが起動しました
[2020-10-08T15:01:09.671] [INFO] default - 8082
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #5
[2020-10-08T15:11:11.267] [DEBUG] default - 5000server start

消えた!!(色もついてご満悦です)

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3