{"id":2906,"date":"2020-04-03T20:19:40","date_gmt":"2020-04-03T11:19:40","guid":{"rendered":"https:\/\/dona-co.art\/?p=2906"},"modified":"2020-04-24T22:55:18","modified_gmt":"2020-04-24T13:55:18","slug":"quoridorn-ubuntu16-04-nginx-nodejs-uwsgi","status":"publish","type":"post","link":"https:\/\/dona-co.art\/?p=2906","title":{"rendered":"Quoridorn Mark2 \u3092\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306b\u8a2d\u7f6e\uff08Ubuntu + Nginx\uff09"},"content":{"rendered":"\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\"><span class=\"has-inline-color has-vivid-cyan-blue-color\">Quoridorn Server \u3092\u8a2d\u7f6e<\/span><\/h2>\n\n\n<hr>\n<p>Quoridorn\u3092\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306b\u5c0e\u5165\u3059\u308b\u70ba\u306b\u306f\u3001<br>Quoridorn-Server\u3068Quoridorn-Cliant\u306e2\u3064\u3092\u8a2d\u7f6e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br>\u307e\u305a\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u5074\u304b\u3089\u7247\u4ed8\u3051\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<br>\n\u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u8a2d\u7f6e\u306f\u3001\u5206\u304b\u308a\u307e\u305b\u3093\u3002\u53c2\u8003\u306b\u306f\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u2026\u305f\u3076\u3093\u3002<\/p>\n<p><strong>#1 Mongdb \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><br>\u307e\u305a\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u306e\u52d5\u4f5c\u306b\u5fc5\u8981\u306aMongodb\u3068\u3044\u3046\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u308c\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p><b>1-1.\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306e\u30ad\u30fc\u3092\u30a4\u30f3\u30dd\u30fc\u30c8<\/b><\/p>\n<pre><code>sudo wget https:\/\/www.mongodb.org\/static\/pgp\/server-4.2.asc\nsudo apt-key add server-4.2.asc<\/code><\/pre>\n<p><b>1-2.APT\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u3001\u30ec\u30dd\u30b8\u30c8\u30ea\u60c5\u5831\u3092\u8ffd\u52a0<\/b><\/p>\n<pre><code>echo \"deb https:\/\/repo.mongodb.org\/apt\/ubuntu xenial\/mongodb-org\/4.2 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-4.2.list<\/code><\/pre>\n<p><b>1-3.\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/b><\/p>\n<pre><code>sudo apt update\nsudo apt -y install mongodb-org<\/code><\/pre>\n<p><b>1-4.\u8d77\u52d5<\/b><\/p>\n<pre><code>sudo ufw allow 27017\nsudo systemctl enable mongod\nsudo systemctl start mongod\n<\/code><\/pre>\n<p><b>1-5.MongoDB\u306b\u63a5\u7d9a\/\u5207\u65ad<\/b><\/p>\n<pre style=\"margin: 0; padding: 0;\"><code>mongo\ndb.version()\nshow dbs\nexit\n<\/code><\/pre>\n<p><b>1-6.\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u4e0a\u624b\u304f\u884c\u304b\u306a\u3044\u5834\u5408<\/b><br>\u30d1\u30fc\u30b8\u3057\u3066\u5165\u308c\u76f4\u3057\u307e\u3059\u3002db\u3084log\u3001pid\u7b49\u306e\u8a2d\u7f6e\u5834\u6240\u3001\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u3088\u304f\u898b\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre style=\"margin: 0; padding: 0;\"><code>sudo apt purge mongodb-org* #\u30d1\u30fc\u30b8\uff01\nsudo apt uodate\nsudo apt upgrade\n\nsudo rm \/tmp\/mongodb-27017.sock #\u30b4\u30df\u6383\u9664\nps aux | grep mongo\nkill -9 2411\n\nsudo apt install mongodb #\u2190 \u3053\u306e\u4e00\u884c\u3067\u4f55\u6545\u304b\u4e0a\u624b\u304f\u3044\u304f\nmongod --version\nsudo apt install -y mongodb-org\nmongod --version\n\nsudo systemctl unmask mongodb #\u30a8\u30e9\u30fc\u56de\u907f\nsudo systemctl enable mongod\nsudo service mongod start\nsudo service mongod status<\/code><\/pre>\n<p><b>\u53c2\u8003<\/b><br>\u30fb <a href=\"https:\/\/docs.mongodb.com\/manual\/tutorial\/install-mongodb-on-ubuntu\/\" target=\"_blank\" rel=\"noopener noreferrer\">Install MongoDB Community Edition on Ubuntu<\/a><br>\u30fb <a href=\"https:\/\/qiita.com\/maecha\/items\/5aad7b507783979f54ae\" target=\"_blank\" rel=\"noopener noreferrer\">\u300cFailed to set up listener: InternalError: Failed to set up sockets\u300d<\/a><br>\u30fb <a href=\"https:\/\/askubuntu.com\/questions\/919108\/error-unit-mongodb-service-is-masked-when-starting-mongodb\" target=\"_blank\" rel=\"noopener noreferrer\">error: Unit mongodb.service is masked when starting mongodb<\/a><br>\u30fb <a href=\"https:\/\/github.com\/microsoft\/WSL\/issues\/1822\" target=\"_blank\" rel=\"noopener noreferrer\">MongoDB service failed to start (unrecognized service ) <\/a><br>\u30fb <a href=\"https:\/\/qiita.com\/maecha\/items\/5aad7b507783979f54ae\" target=\"_blank\" rel=\"noopener noreferrer\">\u300cFailed to set up listener: InternalError: Failed to set up sockets\u300d<\/a><\/p>\n<hr>\n<p><strong>#2 Nodejs, Vue CLI \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><br>\u6b21\u306fNodejs\u3067\u3059\u3002npm \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u7ba1\u7406\u30bd\u30d5\u30c8\u3067\u5c0e\u5165\u3057\u307e\u3059\u3002<\/p>\n<p><b>2-1.\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/b><br>\n\u307e\u305a\u3001\u666e\u901a\u306b apt \u3067nodejs \u3068 npm \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304b\u3089 npm \u3067\u5165\u308c\u76f4\u3057\u307e\u3059\u3002<\/p>\n<pre><code>sudo apt install -y nodejs npm\nmkdir \/home\/usr\/.node_modules_global\nnpm install npm -g\nsudo chown usr:usr -R \/home\/usr\/.npm\/_cacache<\/code><\/pre>\n<p><b>2-2.\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30c4\u30fc\u30eb \u201cn\u201d \u3068 Vue CLI<\/b><br>\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30c4\u30fc\u30eb \u201dn\u201d \u3092\u5165\u308c\u3066\u4efb\u610f\u306e Node.js \u3092\u5165\u308c\u307e\u3059\u3002<br>\n\u5fc5\u305a Ver 11.x \u3092\u5165\u308c\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u308c\u4ee5\u5916\u3067\u306f\u30d3\u30eb\u30c9\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\u3002(\u79c1\u306e\u74b0\u5883\u3067\u306f)<\/p>\n<pre><code>npm install -g @vue\/cli n\nsudo mkdir \/usr\/local\/n\/versions\/node\nsudo n 11.10.0<\/code><\/pre>\n<p><b>2-3.\u53e4\u3044 Node.js, npm \u3092\u524a\u9664\u3002<\/b><br>\n\u6700\u521d\u306b apt \u3067\u5165\u308c\u305f nodejs \u3068 npm \u3092\u6d88\u3057\u307e\u3059\u3002<br>\n\u305d\u3057\u3066\u3001\u6700\u5f8c\u306b\u30f4\u30a1\u30fc\u30b8\u30e7\u30f3\u3092\u30c1\u30a7\u30c3\u30af\u3002<\/p>\n<pre><code>sudo apt purge -y nodejs npm\nexec $SHELL -l\n\nn list\nnode\/10.20.1\nnode\/11.10.0\nnode\/11.15.0\nnode\/12.16.2\nnode\/13.13.0\nnode\/14.0.0\n\nnode -v\nv11.10.0<\/code><\/pre>\n<p><b>\u53c2\u8003<\/b><br>\u30fb <a href=\"https:\/\/qiita.com\/seibe\/items\/36cef7df85fe2cefa3ea\" target=\"_blank\" rel=\"noopener noreferrer\">Ubuntu\u306b\u6700\u65b0\u306eNode.js\u3092\u96e3\u306a\u304f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/a><\/p>\n<hr>\n<p><strong>#3 Quoridorn-Server \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><br>\u3088\u3046\u3084\u304f\u3001\u30b5\u30fc\u30d0\u672c\u4f53\u3067\u3059\u3002<br>\u3053\u3053\u3067\u306f\u3001 \/home\/usr\/quoridorn-server\/ \u306b\u8a2d\u7f6e\u3057\u305f\u5834\u5408\u306e\u8aac\u660e\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><b>3-1.\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/b><br>quoridorn-server \u3068\u3044\u3046\u30d5\u30a9\u30eb\u30c0\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3059\u3002<\/p>\n<pre><code>git clone https:\/\/github.com\/HillTopTRPG\/quoridorn-server.git\ncd \/quoridorn-server<\/code><\/pre>\n<p><b>3-2.\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3001\u30d3\u30eb\u30c9<\/b><br>Mac\u7528\u30e9\u30a4\u30d6\u30e9\u30ea(fsevents@1.2.11)\u306e\u8b66\u544a\u304c\u3044\u304f\u3064\u304b\u51fa\u307e\u3059\u304c\u3001\u7121\u8996\u3057\u307e\u3059\u3002<\/p>\n<pre><code>npm install\nnpm run build<\/code><\/pre>\n<p><b>3-3.Quoridorn\u30b5\u30fc\u30d0\u306e\u8a2d\u5b9a\u3092\u7de8\u96c6<\/b><br>\/home\/usr\/quoridorn-server\/conf\/server.yaml \u3092\u30a8\u30c7\u30a3\u30bf\u3067\u7de8\u96c6\u3057\u307e\u3059\u3002<br>\u30d5\u30a1\u30a4\u30eb\u5185\u306e\u8aac\u660e\u3092\u3088\u304f\u8aad\u3093\u3067\u3001\u5909\u66f4\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<br>\u4e0b\u8a18\u306e\u8a2d\u5b9a\u306f\u3001\u4f7f\u7528\u30dd\u30fc\u30c83000\u3001\u90e8\u5c4b\u6570100\u3001\u90e8\u5c4b\u306f\u653e\u7f6e\u3057\u3066\u3082\u6d88\u3048\u306a\u3044\u3002\u3067\u3059\u3002<\/p>\n<pre><code>port: 3000\nstoreType: mongodb\nsecretCollectionSuffix: nakachan-mo-kirai-ni-nattya-damedayo\nroomNum: 100\nroomAutoRemove: -1\nmongodbConnectionStrings: mongodb:\/\/127.0.0.1:27017\/<\/code><\/pre>\n<p><b>3-4.Quoridorn\u30b5\u30fc\u30d0\u306e\u52d5\u4f5c\u30c1\u30a7\u30c3\u30af<\/b><br>\u3068\u308a\u3042\u3048\u305a\u3001\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\u3002<br>Quoridorn Server is Ready \u3068\u8868\u793a\u3055\u308c\u308c\u3070\u6210\u529f\u3067\u3059\u3002\u3084\u3063\u305f\u306d\uff01<br>Ctrl+C \u3067\u4e00\u65e6\u505c\u6b62\u3057\u307e\u3059\u3002<\/p>\n<pre><code>npm run node-server<\/code><\/pre>\n<p><b>3-5.Quoridorn\u30b5\u30fc\u30d0\u3092\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u52d5\u4f5c\u3055\u305b\u308b<\/b><br>\u3053\u306e\u307e\u307e\u3060\u3068\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u9589\u3058\u308b\u3068\u30b5\u30fc\u30d0\u30fc\u304c\u843d\u3061\u3066\u3057\u307e\u3044\u4f7f\u3044\u52dd\u624b\u304c\u60aa\u3044\u3067\u3059\u3002<br>\u305d\u3053\u3067\u3001\u30d7\u30ed\u30bb\u30b9\u30de\u30cd\u30fc\u30b8\u30e3 &#8220;pm2&#8221; \u3092\u4f7f\u7528\u3057\u3001\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u81ea\u52d5\u8d77\u52d5\u3055\u305b\u307e\u3059\u3002<\/p>\n<pre><code>npm install -g pm2<\/code><\/pre>\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<br>\nJSON\u304byaml\u5f62\u5f0f\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u304c\u3001yaml\u304c\u7c21\u5358\u306a\u306e\u3067\u30aa\u30b9\u30b9\u30e1\u3002<br>\n\/home\/usr\/quoridorn-server\/pm2_config.yml<\/p>\n<pre><code>name:      quoridorn-server\u3000 \u3000\u3000\u3000\u3000\u3000\u3000\uff03\u30a2\u30d7\u30ea\u540d\u524d\nscript:    .\/dist\/server.js\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \uff03\u30b9\u30af\u30ea\u30d7\u30c8\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\ncwd:       \/home\/usr\/quoridorn-server\/\u3000 \uff03\u4f5c\u696d\u30d5\u30a9\u30eb\u30c0\nexec_mode: fork\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u3000\u3000 \uff03cluster mode\u306f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u4f4e\u4e0b\uff1f\nNODE_ENV:  production\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u3000  \u3000\uff03\u74b0\u5883\nPORT:      3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\uff03\u4f7f\u7528\u30dd\u30fc\u30c8<\/code><\/pre>\n<p>\u81ea\u52d5\u8d77\u52d5\u51fa\u6765\u308b\u3088\u3046\u306b\u767b\u9332\u3057\u307e\u3059\u3002<br>\n\u74b0\u5883\u306b\u3088\u3063\u3066\u9055\u3046\u306e\u3067\u3001\u8a18\u4e8b\u305d\u306e\u307e\u307e\u3092\u30b3\u30d4\u30da\u3057\u3066\u3082\u52d5\u304b\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre><code>\uff03\u3068\u308a\u3042\u3048\u305a\u52d5\u304b\u3057\u3066\u307f\u308b\npm2 start '\/home\/usr\/quoridorn-server\/pm2_config.yml'\n\n\uff03\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u30b3\u30d4\u30da\u3057\u3066\u5b9f\u884c\u3057\u3066\u306d\u3068\u8a00\u308f\u308c\u308b\u3002\npm2 startup\n\n\uff03\u79c1\u306e\u5834\u5408\u3001\u4ee5\u4e0b\u3092\u30b3\u30d4\u30da\u3057\u3066\u5b9f\u884c\u3002\u74b0\u5883\u306b\u3088\u3063\u3066\u9055\u3044\u307e\u3059\u3002\nsudo env PATH=$PATH:\/usr\/local\/bin \/home\/usr\/.node_modules_global\/lib\/node_modules\/pm2\/bin\/pm2 startup systemd -u usr --hp \/home\/usr\n\n\uff03\u767b\u9332\npm2 save\n<\/code><\/pre>\n<p>\u5b9f\u969b\u306b\u52d5\u4f5c\u3057\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre><code>pm2 list\npm2 show quoridorn-server\npm2 monit<\/code><\/pre>\n<p><b>\u53c2\u8003<\/b><br>\u30fb <a href=\"https:\/\/www.yoheim.net\/blog.php?q=20170706\" target=\"_blank\" rel=\"noopener noreferrer\">[Node.js] PM2\u3092\u7528\u3044\u3066\u672c\u756a\u74b0\u5883\u3067NodeJS\u30a2\u30d7\u30ea\u3092\u52d5\u304b\u3059<\/a><br>\u30fb <a href=\"https:\/\/qiita.com\/poruruba\/items\/10df0d94e9127797498f\" target=\"_blank\" rel=\"noopener noreferrer\">pm2\u3067Node.js\u5b9f\u884c\u74b0\u5883\u3092\u6574\u5099\u3059\u308b<\/a><br>\u30fb <a href=\"https:\/\/qiita.com\/arene-calix\/items\/adff9ee478a2a3a727df\" target=\"_blank\" rel=\"noopener noreferrer\">node.js\u309210-&gt;12\u306b\u66f4\u65b0\u3057\u305f\u3068\u304d\u306b\u8d77\u304d\u305f\u30a8\u30e9\u30fc\u3068\u5bfe\u51e6\u5185\u5bb9<\/a><\/p>\n<hr>\n\n\n<h2 class=\"has-text-align-center wp-block-heading\"><span class=\"has-inline-color has-vivid-cyan-blue-color\">Quoridorn Mark2 \u3092\u8a2d\u7f6e<\/span><\/h2>\n\n\n<hr>\n<p><strong>#4.Quoridorn-Mark2\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><br>\n\u30b5\u30fc\u30d0\u30fc\u5074\u306e\u6e96\u5099\u304c\u51fa\u6765\u305f\u306e\u3067\u3001\u3084\u3063\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u3067\u3042\u308bMark2\u306e\u8a2d\u7f6e\u3067\u3059\u3002<br>\n\u306a\u304a\u3001Nginx\u306f\u5c0e\u5165\u6e08\u307f\u3001\u52d5\u4f5c\u6e08\u307f\u306e\u3082\u306e\u3068\u3057\u3066\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p><b>4-1.\u74b0\u5883\u3092\u78ba\u8a8d<\/b><br>\n\u30dd\u30fc\u30c8\u304c\u958b\u653e\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u52d5\u4f5c\u3057\u306a\u3044\u306e\u3067\u3001\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\u3002<br>\n\u4e0b\u8a18\u306f\u3001SSL\u3001IPv6\u3001Websocket(udp)\u5bfe\u5fdc\u306e\u4e8b\u4f8b\u3067\u3059\u3002<\/p>\n<pre><code>nginx -v\nnginx version: nginx\/1.17.9\n\nnpm -v\n6.14.4\n\nnode -v\nv11.10.0\n\nmongod -version\ndb version v4.2.5\n\nopenssl version\nOpenSSL 1.1.0h\n\nsudo ufw status\nTo                 Action    From\n--                 ------    ---\n80                 ALLOW     Anywhere\n443                ALLOW     Anywhere                  \n3000               ALLOW     Anywhere        \uff033000\u306fQuoridorn\u7528\n443\/udp            ALLOW     Anywhere                 \n27017              ALLOW     Anywhere        \uff0327017\u306fMongoDB\u7528\n80 (v6)            ALLOW     Anywhere (v6)   \uff03\u2193\u3053\u3053\u304b\u3089IPv6\u7528    \n443 (v6)           ALLOW     Anywhere (v6)             \n3000 (v6)          ALLOW     Anywhere (v6)             \n443\/udp (v6)       ALLOW     Anywhere (v6)             \n27017 (v6)         ALLOW     Anywhere (v6)   \n<\/code><\/pre>\n<p><b>4-2.\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/b><br>\n\/home\/usr\/ \u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3002quoridorn-mark2 \u304c\u81ea\u52d5\u3067\u4f5c\u3089\u308c\u307e\u3059\u3002<br>\n\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u5909\u3048\u305f\u3044\u5834\u5408\u306f\u3001\u672b\u5c3e\u306b\u4efb\u610f\u306e\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u8ffd\u8a18\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre><code>git clone https:\/\/github.com\/HillTopTRPG\/quoridorn-mark2.git<\/code><\/pre>\n<p><b>4-3.\u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/b><br>\n\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u3089\u3001package-lock.json \u3068 node_modules \u3092\u524a\u9664\u3002\u518d install &amp; build \u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre><code>cd home\/usr\/quoridorn-mark2\nnpm init     \uff03npm\u3067\u7ba1\u7406\u3059\u308b\u3088\u3068\u5ba3\u8a00\nnpm install  \uff03\u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u53d6\u5f97<\/code><\/pre>\n<p><b>4-4.\u8a2d\u7f6e\u5834\u6240\u3092\u6307\u5b9a<\/b><br>\n.env \u3092\u30a8\u30c7\u30a3\u30bf\u3067\u7de8\u96c6\u3057\u3066\u8a2d\u7f6e\u30d1\u30b9\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<br>\n\u7a7a\u6b04\u306b\u3059\u308b\u3068\u3001 home\/usr\/quoridorn-mark2\/dist\/ \u304c\u8a2d\u7f6e\u5834\u6240\u306b\u306a\u308a\u307e\u3059\u3002<br>\n\u3053\u3053\u3067\u306f\u7a7a\u6b04\u3092\u5165\u308c\u3066\u3044\u307e\u3059\u3002<br>\n\/home\/usr\/quoridorn-mark2\/.env<\/p>\n<pre><code>VUE_APP_BASE_URL=<\/code><\/pre>\n<p><b>4-5.\u30d3\u30eb\u30c9<\/b><\/p>\n<pre><code>npm run build<\/code><\/pre>\n<p><b>4-6.\u74b0\u5883\u8a2d\u5b9a\u3092\u7de8\u96c6<\/b><br>\n\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5468\u308a\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\nskywayApikey\u306f\u3001\u4e8b\u524d\u306b\u53d6\u5f97\u3057\u305fkey\u3092\u5165\u529b\u3057\u307e\u3059\u3002\u53d6\u5f97\u65b9\u6cd5\u306f<a href=\"https:\/\/dona-co.art\/?p=1612\" target=\"_blank\" rel=\"noopener noreferrer\">\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u306e\u3053\u3068\u3002<br>\n\/home\/usr\/quoridorn-mark2\/dist\/static\/conf\/connect.yaml<\/p>\n<pre><code>quoridornServer:   \"wss:\/\/kancolle.idol.world\"        \uff03wss:\/\/your.site\nsocketTimeout:     50000\nbcdiceServer:      \"https:\/\/bcdice.onlinesession.app\" \uff03\u305d\u306e\u307e\u307e\nskywayApiKey:      \"nakatyaN-kawaii-Idol-Korekaramo-4649Ne\"\nskywayConnectType: \"Mesh\"<\/code><\/pre>\n<hr>\n<p><strong>#5.Nginx \u306e\u8a2d\u5b9a<\/strong><br>\nNginx\u304b\u3089Node.js\u3078\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3059\u308b\u8a2d\u5b9a\u3092\u52a0\u3048\u307e\u3059\u3002<br>\n\/etc\/nginx\/quoridorn-mk2.conf<\/p>\n<pre><code>upstream socket_io {\n    ip_hash;\n    server 127.0.0.1:3000;\n}\nserver {\n    listen       80;\n    listen       [::]:80;\n    server_name  kancolle.idol.world;\n    return 301 $host$request_uri;\n}\nserver {\n    listen       443 ssl http2 ;\n    listen       [::]:443 ssl http2;\n    server_name  kancolle.idol.world;\n\n    ssl_protocols TLSv1.2 TLSv1.3;\n....\n    location \/ {\n         root    \/home\/usr\/quoridorn-mark2\/dist\/;\n    }\n    location \/socket_io\/ {\n        proxy_pass http:\/\/socket_io;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade    $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host       $host;\n        }\n}<\/code><\/pre>\n<p>Nginx\u3092\u518d\u8d77\u52d5\u3002\u30d6\u30e9\u30a6\u30b6\u3067\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre><code>sudo nginx -t\nsudo service nginx restart<\/code><\/pre>\n<p><strong>\u95a2\u9023\u30ea\u30f3\u30af<\/strong><br>\n\u516c\u5f0f\u3000\uff1a<a href=\"https:\/\/github.com\/HillTopTRPG\/quoridorn-mark2\" target=\"_blank\" rel=\"noopener noreferrer\">Quoridorn-mark2<\/a><br>\n\u8a2d\u7f6e\u4f8b\uff1a<a href=\"https:\/\/qdon.dona-co.art\" target=\"_blank\" rel=\"noopener noreferrer\">\u30b3\u30ea\u30c9\u30fc\u30f3 \u82f1\u56fd\u30e1\u30a4\u30c9\u30b5\u30fc\u30d0\u30fc(test)<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Quoridorn Server \u3092\u8a2d\u7f6e Quoridorn\u3092\u81ea\u5b85\u30b5\u30fc\u30d0\u30fc\u306b\u5c0e\u5165\u3059\u308b\u70ba\u306b\u306f\u3001Quoridorn-Server\u3068Quoridorn-Cliant\u306e2\u3064\u3092\u8a2d\u7f6e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305a\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u5074\u304b\u3089\u7247\u4ed8\u3051\u3066 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-2906","post","type-post","status-publish","format-standard","hentry","category-10"],"_links":{"self":[{"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/posts\/2906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dona-co.art\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2906"}],"version-history":[{"count":211,"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/posts\/2906\/revisions"}],"predecessor-version":[{"id":3209,"href":"https:\/\/dona-co.art\/index.php?rest_route=\/wp\/v2\/posts\/2906\/revisions\/3209"}],"wp:attachment":[{"href":"https:\/\/dona-co.art\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dona-co.art\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dona-co.art\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}