{"id":2755,"date":"2021-03-18T18:30:25","date_gmt":"2021-03-18T09:30:25","guid":{"rendered":"https:\/\/qol-kk.com\/wp2\/?p=2755"},"modified":"2021-03-19T12:20:31","modified_gmt":"2021-03-19T03:20:31","slug":"post-2755","status":"publish","type":"post","link":"https:\/\/qol-kk.com\/wp2\/blog\/2021\/03\/18\/post-2755\/","title":{"rendered":"Docker\uff1aDjango\u306eSPA\u5316\u3067Vue.js\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u305f\u3051\u3069\u8d77\u52d5\u3057\u306a\u304b\u3063\u305f\u4ef6"},"content":{"rendered":"<h2>Docker\uff1aDjango\u306eSPA\u5316\u3067Vue.js\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u305f\u3051\u3069\u8d77\u52d5\u3057\u306a\u304b\u3063\u305f\u4ef6<\/h2>\n<p>Django\u3082\u899a\u3048\u3066\u304d\u305f\u306e\u3067\u6d41\u884c\u308a\u306eSPA\u5316\u3057\u3088\u3046\u3068\u753b\u7b56\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3067\u3001\u3053\u3093\u306a\u69cb\u6210\u3092\u8003\u3048\u3066Docker\u3092\u5f04\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<div class=\"paperBox\">\n<ul>\n<li>Frontend\u3000\u3000=&gt;\u3000Vue.js<\/li>\n<li>Backend\u3000\u3000=&gt;\u3000Django<\/li>\n<li>DataBase\u3000\u3000=&gt;\u3000MySQL<\/li>\n<li>HTTP\u30b5\u30fc\u30d0\u3000=&gt;\u3000Nginx<\/li>\n<\/ul>\n<\/div>\n<p>8080\u756a\u3092\u958b\u653e\u3057\u3066Vue\u3092\u52d5\u304b\u3057\u305f\u306e\u3067\u3059\u304c\u3001Docker\u3092\u30ea\u30d3\u30eb\u30c9\u3057\u305f\u3089Vue\u306e\u521d\u671f\u753b\u9762\u304c\u6d88\u3048\u307e\u3057\u305f\u3002<\/p>\n<h3>\u4eca\u56de\u3001\u89e3\u6c7a\u306b\u81f3\u3063\u305f\u65b9\u6cd5<\/h3>\n<p>\u539f\u56e0\u306fVue\u306e\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u304c\u5b9f\u884c\u6a29\u9650\u3067\u306f\u306d\u3089\u308c\u3066\u3057\u307e\u3063\u3066\u3044\u305f\u4e8b\u3067\u3057\u305f\u3002<\/p>\n<p>\u306a\u306e\u3067\u3001\u3010 vue create project \u3011\u3067\u751f\u6210\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4e00\u65e6\u3059\u3079\u3066\u524a\u9664\u3057\u518d\u5ea6\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30af\u30ea\u30a8\u30a4\u30c8\u3057\u3066\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3068\u3053\u308d\u3001\u7121\u4e8b\u306bvue\u521d\u671f\u753b\u9762\u304c\u7acb\u3061\u4e0a\u304c\u308a\u307e\u3057\u305f\u3002<\/p>\n<h3>\u8868\u9762\u306e\u539f\u56e0\u306fVue \u306e\u30b3\u30f3\u30c6\u30ca\u304c\u7acb\u3061\u4e0a\u304c\u3063\u3066\u3044\u306a\u3044\u4e8b<\/h3>\n<pre class=\"lang:default decode:true\">sudo docker ps -a<\/pre>\n<p>Docker\u30b3\u30f3\u30c6\u30ca\u306e\u8d77\u52d5\u72b6\u6cc1\u3092\u78ba\u8a8d\u3057\u305f\u3068\u3053\u308d\u3001Vue\u3092\u5165\u308c\u305fFront\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u3066\u3044\u307e\u305b\u3093\u3002<br \/>\nVue\u306e\u521d\u671f\u753b\u9762\u304c\u6d88\u3048\u305f\u539f\u56e0\u306f\u30b3\u30b3\u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3067\u306f\u3001\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u306a\u304b\u3063\u305f\u539f\u56e0\u306f\uff1f<br \/>\n\u76f4\u524d\u306e\u5909\u66f4\u304c\u554f\u984c\u304b\u3068\u601d\u3044\u307e\u3059\u3088\u306d\u3002\u3067\u3001Dockerfile\u3068docker-compose.yml\u3092\u300e\u8d77\u52d5\u3057\u3066\u3044\u305f\u6642\u306e\u72b6\u614b\u300f\u306b\u623b\u3057\u518d\u30d3\u30eb\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<div class=\"borderBox\">\n<p>\u7d50\u679c =&gt;\u3010\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u305b\u305a\u3011<\/p>\n<\/div>\n<p>\u3057\u3070\u3089\u304f\u539f\u56e0\u306b\u601d\u3044\u5f53\u305f\u3089\u305a\u8272\u3005\u5f04\u3063\u3066\u306f\u518d\u30d3\u30eb\u30c9\u3092\u7e70\u308a\u8fd4\u3057\u3066\u5b9f\u9a13\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u3069\u3046\u3082\u4e0a\u624b\u304f\u3044\u304d\u307e\u305b\u3093\u3002<br \/>\n\u3067\u3001\u6700\u7d42\u7684\u306b\u767a\u899a\u3057\u305f\u306e\u304c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3068\u6240\u6709\u6a29\u306e\u554f\u984c\u3067\u3057\u305f\u3002<\/p>\n<h3>Dockerfile\u3068docker-comose.yml\u306eFront\u90e8<\/h3>\n<p>\u4f5c\u6210\u3057\u3066\u3044\u305f\u69cb\u6210\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n<p>\u25a0Dockerfile<\/p>\n<pre class=\"lang:default decode:true\">FROM node:10.15.3\r\n\r\n#working directory\r\nWORKDIR \/project\r\n\r\n#vuecli\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\nRUN npm install -g @vue\/cli\r\nRUN npm install -g yarn\r\nRUN npm install -g axios<\/pre>\n<p>\u25a0docker-compose.yml<\/p>\n<pre class=\"lang:default decode:true\">version: '3.7'\r\nservices:\r\n\r\n(\u4e2d\u7565)\r\n\r\n  front:\r\n    container_name: front\r\n    build: .\/docker\/front\/node\r\n    volumes:\r\n      - .\/entrypoint\/frontend:\/project\/\r\n    command: yarn serve\r\n    ports:\r\n      - \"8080:8080\"<\/pre>\n<p>\u25a0\u30d5\u30a1\u30a4\u30eb\u69cb\u9020<\/p>\n<div class=\"borderBox\">Docker<br \/>\n\u2502\uff08\u4e2d\u7565\uff09<br \/>\n\u251c\u2500\u2500 entrypoint \/<br \/>\n\u2502 \u251c\u2500\u2500 frontend \/<br \/>\n\u2502 \u2502 \u251c\u2500\u2500 .git \/<br \/>\n\u2502 \u2502 \u251c\u2500\u2500 node_modules \/<br \/>\n\u2502 \u2502 \u251c\u2500\u2500 pablic \/<br \/>\n\u2502 \u2502 \u251c\u2500\u2500 src \/<br \/>\n\u2502 \u2502 \u2514\u2500\u2500 package.json<br \/>\n(\u4e2d\u7565)<br \/>\ndocker-compose.yml<\/div>\n<h3>\u30b3\u30f3\u30c6\u30ca\u306b\u5165\u3063\u3066\u4f5c\u6210\u3057\u305fVue\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306froot\u3067\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b<\/h3>\n<p>\u4e00\u756a\u6700\u521d\u306fVue\u306e\u30c7\u30fc\u30bf\u304c\u7121\u3044\u306e\u3067\u30b3\u30f3\u30c6\u30ca\u7acb\u3061\u4e0a\u3052\u3066\u3001\u30b3\u30f3\u30c6\u30ca\u5185\u3067Vue\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e00\u5f0f\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"lang:default decode:true\">vue create project<\/pre>\n<p>\u3053\u308c\u3067\u7121\u4e8b\u306b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u4f5c\u6210\u3055\u308c\u3001\u4e0a\u8a18\u30d5\u30a1\u30a4\u30eb\u69cb\u9020\u306efrontend\u5185\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002<br \/>\n\u305f\u3060\u3001src\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e HelloWorld.vue\u3092\u30ed\u30fc\u30ab\u30eb\u306b\u6301\u3063\u3066\u304d\u3066\u5f04\u308a\u3001SFTP\u3067\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u3068\u3053\u308d\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3001\u4e0a\u66f8\u304d\u3059\u308b\u4e8b\u304c\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n<p>\u307e\u3041\u3053\u306e\u73fe\u8c61\u306fLaravel\u306e\u521d\u671f\u8a2d\u5b9a\u3067\u3082\u8d77\u3053\u308b\u4e8b\u3067\u3001\u500b\u4eba\u7684\u306b\u306f\u6163\u308c\u305fError\u3002<\/p>\n<div class=\"paperBox\">\n<p>\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\u3057\u305f\u3068\u304d\u306broot\u3067\u8d77\u52d5\u3057\u3066\u3044\u305f\u306e\u3067\u3001\u305d\u306e\u5f8c\u306b\u4f5c\u6210\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u7fa4\u306e\u6240\u6709\u8005\u306froot\u3067\u3059\u3002<br \/>\n\u4e00\u65b9\u3001SFTP\u3067\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u969b\u306b\u306f\u30b3\u30f3\u30c6\u30ca\u306e\u5165\u308bOS\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u3067access\u3057\u3066\u3044\u308b\u305f\u3081\u6240\u6709\u8005\u306f\u30ed\u30b0\u30a4\u30f3\u30e6\u30fc\u30b6\u30fc\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u30ae\u30e3\u30c3\u30d7\u3067\u300c\u304a\u524d\u306b\u89e6\u3089\u305b\u308b\u30d5\u30a1\u30a4\u30eb\u9054\u306f\u306d\u3047\uff01\u300d\u3068\u6012\u3089\u308c\u307e\u3059\u3002<\/p>\n<\/div>\n<p>\u3053\u306e\u554f\u984c\u89e3\u6c7a\u306e\u305f\u3081\u3001\u30b3\u30f3\u30c6\u30ca\u306b\u5165\u308a\u6163\u308c\u305f\u30b3\u30fc\u30c9\u3067\u30e6\u30fc\u30b6\u30fc\u3068\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210 \/ \u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u5909\u66f4\u3092\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">\/\/WEB\u30b3\u30f3\u30c6\u30ca\u306e\u4e2d\u306b\u5165\u308b\r\n$ \/usr\/local\/bin\/docker-compose exec front bash\r\n\r\n\/\/\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\r\n$ groupadd www-data\r\n\r\n\/\/\u30b0\u30eb\u30fc\u30d7\u306b\u30e6\u30fc\u30b6\u30fc\u3092\u6240\u5c5e\r\n$ gpasswd -a root www-data\r\n\r\n\/\/\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\r\n$ cd \/var\/www\/project\r\n\r\n\/\/\u30d5\u30a1\u30a4\u30eb\u306e\u3068\u30d5\u30a9\u30eb\u30c0\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u7d71\u4e00\r\n$ find .\/ -type d -exec chmod 755 {} \\;\r\n$ find .\/ -type f -exec chmod 644 {} \\;\r\n\r\n\/\/scr\u306e\u6240\u6709\u30b0\u30eb\u30fc\u30d7\u3092\u5909\u66f4\r\n$ chown -R :www-data .\/src\r\n\r\n\/\/\u65e2\u5b58\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fb\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u5909\u66f4\r\n$ find .\/src -type d -exec chmod 775 {} \\;\r\n$ find .\/src -type f -exec chmod 664 {} \\;\r\n\r\n\/\/\u8ab0\u304c\u3069\u3046\u4f5c\u6210\u3057\u3088\u3046\u304c\u3001\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u30fb\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u6240\u6709\u30b0\u30eb\u30fc\u30d7\u3092www-data\u306b\u3059\u308b\r\n$ find .\/src -type d -exec chmod g+s {} \\;\r\n\r\n\/\/ACL\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3057\u3001src\u306e\u914d\u4e0b\u306b\u65b0\u898f\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u4f5c\u3089\u308c\u308b\u3068\u304d\u306e\u81ea\u52d5\u51e6\u7406\u8a2d\u5b9a\r\n\/\/\u3000\u203b\u3000\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f775\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u306f664\u306b\u81ea\u52d5\u7684\u306b\u8a2d\u5b9a\u3059\u308b\u3088\u3046\u306b\u6307\u793a\r\n$ setfacl -R -d -m g::rwx .\/src<\/pre>\n<p>\u305d\u3057\u3066\u7d50\u679c\u7684\u306b\u300e\u3053\u308c\u300f\u304c\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u306e\u59a8\u3052\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<h3>\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u305f\u306e\u306f\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3010yarn serve\u3011<\/h3>\n<p>\u4eca\u56de\u306e\u554f\u984c\u5150\u304c\u8d77\u52d5\u30b3\u30de\u30f3\u30c9 yarn serve \u3067\u3042\u3063\u305f\u4e8b\u306f\u9593\u9055\u3044\u3042\u308a\u307e\u305b\u3093\u3002<br \/>\n\u3053\u306e\u30b3\u30de\u30f3\u30c9\u5916\u3057\u3066\u30ea\u30d3\u30eb\u30c9\u3057\u305f\u3068\u3053\u308d\u3001\u30b3\u30f3\u30c6\u30ca\u7acb\u3061\u4e0a\u304c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305f\u3060\u3001\u63a8\u6e2c\u3068\u3057\u3066\u306f\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u304c\u52d5\u304b\u3059\u300epackage.json\u300f\u8fba\u308a\u306a\u306e\u3067\u306f\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u6b63\u78ba\u306b\u3069\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u306d\u3089\u308c\u305f\u304b\u306f\u308f\u304b\u308a\u307e\u305b\u3093\u3002<\/p>\n<h3>Vue.js\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3010vue.config.js\u3011\u306b\u3082\u8981\u6ce8\u610f<\/h3>\n<p>\u3053\u308c\u3082sudo\u6a29\u9650\u4f7f\u3063\u3066\u4f5c\u6210\u3057\u3066\u3044\u305f\u308a\u3059\u308b\u3068\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u304c644\u306b\u306a\u308a\u307e\u3059\u3002root\u3067644\u3067\u3082\u300c\u30b3\u30f3\u30c6\u30ca\u304c\u7acb\u3061\u4e0a\u304c\u3089\u306a\u3044\u300d\u3068\u306f\u306a\u308a\u307e\u305b\u3093\u304c\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306b\u30df\u30b9\u304c\u3042\u308b\u3068\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u307e\u305b\u3093\u3002<\/p>\n<p>Vue\u304c\u52d5\u304b\u306a\u3044\u3067\u306f\u306a\u304f\u3066\u3001\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u306a\u3044\u306e\u3067\u30b3\u30f3\u30c6\u30ca\u5185\u306b\u5165\u3063\u3066\u306e\u4fee\u6b63\u306f\u4e0d\u53ef\u80fd\u3067\u3059\u3002<br \/>\nVue\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u76f4\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u9054\u306b\u306f\u5341\u5206\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>\u4e0a\u624b\u304f\u3044\u304b\u306a\u3044\u6642\u306f\u8ab0\u304c\u3069\u306e\u6a29\u9650\u3067\u4f55\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u306e\u304b\u3082\u3046\u4e00\u5ea6\u898b\u76f4\u3057\u3066\u307f\u3088\u3046<\/h3>\n<p>\u30b3\u30fc\u30c9\u3070\u304b\u308a\u898b\u3066\u3044\u305f\u306e\u3067\u3053\u306e\u554f\u984c\u306b\u6c17\u4ed8\u304b\u305a\u7121\u99c4\u306b\u635c\u67fb\u306b\u6642\u9593\u3092\u304b\u3051\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<br \/>\n\u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u306a\u539f\u56e0\u306e\u4e00\u3064\u306b\u3010\u5b9f\u884c\u30b3\u30de\u30f3\u30c9\u306e\u30a8\u30e9\u30fc\u3011\u304c\u3042\u308b\u4e8b\u306f\u7406\u89e3\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h3>\u307e\u3068\u3081<\/h3>\n<p>\u5931\u6557\u306f\u3044\u3044\u7d4c\u9a13\u3067\u3059\u3051\u3069\u3001\u3067\u304d\u308c\u3070\u5931\u6557\u3057\u305f\u304f\u306a\u3044\u3067\u3059\u3088\u306d\u3002<\/p>\n<p>\u3044\u3084\u3041\u3001\u306a\u3093\u304b\u7121\u99c4\u306b\u75b2\u308c\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker\uff1aDjango\u306eSPA\u5316\u3067Vue.js\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u305f\u3051\u3069\u8d77\u52d5\u3057\u306a\u304b\u3063\u305f\u4ef6 Django\u3082\u899a\u3048\u3066\u304d\u305f\u306e\u3067\u6d41\u884c\u308a\u306eSPA\u5316\u3057\u3088\u3046\u3068\u753b\u7b56\u3057\u307e\u3057\u305f\u3002 \u3067\u3001\u3053\u3093\u306a\u69cb\u6210\u3092\u8003\u3048\u3066Docker\u3092\u5f04\u3063\u3066\u307f\u307e\u3057\u305f\u3002 Fro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1502,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","_lightning_design_setting":[],"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[75],"tags":[64,814,498,345,967,966,97,515,968,58],"class_list":["post-2755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-of-serverside","tag-api","tag-django","tag-docker","tag-permission","tag-spa","tag-vue-js","tag-97","tag-515","tag-968","tag-58"],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_publicize_connections":[],"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2020\/02\/https___www.creationline.com_wp-content_uploads_2018_06_Moby2018.png","_links":{"self":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/comments?post=2755"}],"version-history":[{"count":0,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2755\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media\/1502"}],"wp:attachment":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media?parent=2755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/categories?post=2755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/tags?post=2755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}