{"id":28420,"date":"2025-05-14T10:22:05","date_gmt":"2025-05-14T03:22:05","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=28420"},"modified":"2025-05-15T11:17:46","modified_gmt":"2025-05-15T04:17:46","slug":"cai-dat-n8n-tren-vps-ubuntu","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu InterData [2025]"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#n8n-la-gi-Loi-ich-khi-tu-host-tren-VPS-Ubuntu\" >n8n l\u00e0 g\u00ec? L\u1ee3i \u00edch khi t\u1ef1 host tr\u00ean VPS Ubuntu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cach-1-Cai-dat-n8n-tren-VPS-Ubuntu-don-gian-tai-InterData\" >C\u00e1ch 1: C\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu \u0111\u01a1n gi\u1ea3n t\u1ea1i InterData<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Buoc-1-Truy-cap-va-dang-nhap-vao-portal-supportinterdatavn\" >B\u01b0\u1edbc 1: Truy c\u1eadp v\u00e0 \u0111\u0103ng nh\u1eadp v\u00e0o portal support.interdata.vn<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Buoc-2-Dang-ky-dich-vu-VPS-va-chon-goi-phu-hop\" >B\u01b0\u1edbc 2: \u0110\u0103ng k\u00fd d\u1ecbch v\u1ee5 VPS v\u00e0 ch\u1ecdn g\u00f3i ph\u00f9 h\u1ee3p<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Buoc-3-Chon-he-dieu-hanh-ubuntu-2204-n8n-khi-thiet-lap-VPS\" >B\u01b0\u1edbc 3: Ch\u1ecdn h\u1ec7 \u0111i\u1ec1u h\u00e0nh ubuntu-22.04-n8n khi thi\u1ebft l\u1eadp VPS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Buoc-4-Hoan-tat-thanh-toan-va-nhan-thong-tin-truy-cap-n8n\" >B\u01b0\u1edbc 4: Ho\u00e0n t\u1ea5t thanh to\u00e1n v\u00e0 nh\u1eadn th\u00f4ng tin truy c\u1eadp n8n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cach-2-Cai-dat-n8n-tren-VPS-Ubuntu-thu-cong\" >C\u00e1ch 2: C\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu th\u1ee7 c\u00f4ng<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cap-nhat-he-thong-va-cai-dat-cac-goi-phu-thuoc-co-ban\" >C\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng v\u00e0 c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i ph\u1ee5 thu\u1ed9c c\u01a1 b\u1ea3n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cai-dat-Nodejs-va-npm\" >C\u00e0i \u0111\u1eb7t Node.js v\u00e0 npm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cai-dat-n8n-bang-npm\" >C\u00e0i \u0111\u1eb7t n8n b\u1eb1ng npm<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cau-hinh-n8n-chay-voi-PM2\" >C\u1ea5u h\u00ecnh n8n ch\u1ea1y v\u1edbi PM2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cai-dat-n8n-voi-Docker-va-Docker-Compose\" >C\u00e0i \u0111\u1eb7t n8n v\u1edbi Docker v\u00e0 Docker Compose<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cau-hinh-sau-cai-dat-de-n8n-hoat-dong-toi-uu-va-bao-mat\" >C\u1ea5u h\u00ecnh sau c\u00e0i \u0111\u1eb7t \u0111\u1ec3 n8n ho\u1ea1t \u0111\u1ed9ng t\u1ed1i \u01b0u v\u00e0 b\u1ea3o m\u1eadt<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Truy-cap-n8n-lan-dau-qua-dia-chi-IP-va-port\" >Truy c\u1eadp n8n l\u1ea7n \u0111\u1ea7u qua \u0111\u1ecba ch\u1ec9 IP v\u00e0 port<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cau-hinh-Reverse-Proxy-voi-Nginx-Truy-cap-qua-ten-mien\" >C\u1ea5u h\u00ecnh Reverse Proxy v\u1edbi Nginx (Truy c\u1eadp qua t\u00ean mi\u1ec1n)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Bao-mat-n8n-voi-SSLTLS-su-dung-Lets-Encrypt-HTTPS\" >B\u1ea3o m\u1eadt n8n v\u1edbi SSL\/TLS s\u1eed d\u1ee5ng Let&#8217;s Encrypt (HTTPS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Cac-thiet-lap-co-ban-trong-giao-dien-n8n\" >C\u00e1c thi\u1ebft l\u1eadp c\u01a1 b\u1ea3n trong giao di\u1ec7n n8n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Xu-ly-mot-so-loi-thuong-gap-khi-cai-dat-n8n-tren-Ubuntu\" >X\u1eed l\u00fd m\u1ed9t s\u1ed1 l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t n8n tr\u00ean Ubuntu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Meo-va-luu-y-quan-trong-khi-su-dung-n8n-tren-VPS\" >M\u1eb9o v\u00e0 l\u01b0u \u00fd quan tr\u1ecdng khi s\u1eed d\u1ee5ng n8n tr\u00ean VPS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/#Nhung-dieu-ban-co-the-lam-sau-khi-cai-dat\" >Nh\u1eefng \u0111i\u1ec1u b\u1ea1n c\u00f3 th\u1ec3 l\u00e0m sau khi c\u00e0i \u0111\u1eb7t<\/a><\/li><\/ul><\/nav><\/div>\n<p>T\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian v\u00e0 n\u00e2ng cao hi\u1ec7u su\u1ea5t \u0111\u00e1ng k\u1ec3. B\u00e0i vi\u1ebft n\u00e0y cung c\u1ea5p h\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n c\u00e1c b\u01b0\u1edbc <a href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-tren-vps-ubuntu\/\">c\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu<\/a>, t\u1eeb l\u1ef1a ch\u1ecdn ph\u01b0\u01a1ng ph\u00e1p ph\u00f9 h\u1ee3p nh\u01b0 s\u1eed d\u1ee5ng VPS\u00a0c\u1ee7a InterData v\u1edbi OS t\u00edch h\u1ee3p s\u1eb5n, \u0111\u1ebfn c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng qua Docker ho\u1eb7c Node.js, c\u00f9ng c\u00e1c c\u1ea5u h\u00ecnh b\u1ea3o m\u1eadt thi\u1ebft y\u1ebfu sau \u0111\u00f3.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"n8n-la-gi-Loi-ich-khi-tu-host-tren-VPS-Ubuntu\"><\/span>n8n l\u00e0 g\u00ec? L\u1ee3i \u00edch khi t\u1ef1 host tr\u00ean VPS Ubuntu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>n8n l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 t\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c (workflow automation) m\u00e3 ngu\u1ed3n m\u1edf. C\u00f4ng c\u1ee5 n\u00e0y cho ph\u00e9p b\u1ea1n k\u1ebft n\u1ed1i c\u00e1c \u1ee9ng d\u1ee5ng kh\u00e1c nhau v\u00e0 t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00e1c t\u00e1c v\u1ee5 m\u00e0 kh\u00f4ng c\u1ea7n vi\u1ebft m\u00e3 ph\u1ee9c t\u1ea1p. n8n gi\u00fap li\u00ean k\u1ebft h\u00e0ng tr\u0103m \u1ee9ng d\u1ee5ng web v\u00e0 d\u1ecbch v\u1ee5 \u0111\u1ec3 t\u1ea1o ra c\u00e1c lu\u1ed3ng c\u00f4ng vi\u1ec7c t\u00f9y ch\u1ec9nh.<\/p>\n<p>Vi\u1ec7c t\u1ef1 host n8n tr\u00ean m\u1ed9t m\u00e1y ch\u1ee7 ri\u00eang \u1ea3o (Virtual Private Server &#8211; VPS) ch\u1ea1y h\u1ec7 \u0111i\u1ec1u h\u00e0nh Ubuntu mang l\u1ea1i nhi\u1ec1u l\u1ee3i th\u1ebf. B\u1ea1n c\u00f3 to\u00e0n quy\u1ec1n ki\u1ec3m so\u00e1t d\u1eef li\u1ec7u c\u1ee7a m\u00ecnh, \u0111\u1ea3m b\u1ea3o t\u00ednh ri\u00eang t\u01b0 v\u00e0 b\u1ea3o m\u1eadt. \u0110\u1ed3ng th\u1eddi, b\u1ea1n c\u00f3 th\u1ec3 t\u00f9y ch\u1ec9nh c\u1ea5u h\u00ecnh n8n theo nhu c\u1ea7u c\u1ee5 th\u1ec3 v\u00e0 th\u01b0\u1eddng ti\u1ebft ki\u1ec7m chi ph\u00ed so v\u1edbi c\u00e1c gi\u1ea3i ph\u00e1p SaaS (Software as a Service) th\u01b0\u01a1ng m\u1ea1i.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/n8n.jpg\" alt=\"n8n\" width=\"750\" height=\"492\" class=\"aligncenter size-full wp-image-27187\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/n8n.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/04\/n8n-300x197.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cach-1-Cai-dat-n8n-tren-VPS-Ubuntu-don-gian-tai-InterData\"><\/span>C\u00e1ch 1: C\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu \u0111\u01a1n gi\u1ea3n t\u1ea1i InterData<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><iframe loading=\"lazy\" title=\"H\u01b0\u1edbng d\u1eabn c\u00e0i n8n tr\u00ean VPS Ubuntu t\u1ea1i InterData - Nhanh ch\u00f3ng, d\u1ec5 d\u00e0ng\" width=\"1020\" height=\"574\" src=\"https:\/\/www.youtube.com\/embed\/0GW3Ba3hMcU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>\u0110\u1ed1i v\u1edbi ng\u01b0\u1eddi d\u00f9ng t\u00ecm ki\u1ebfm s\u1ef1 ti\u1ec7n l\u1ee3i v\u00e0 nhanh ch\u00f3ng, InterData cung c\u1ea5p gi\u1ea3i ph\u00e1p <span style=\"color: #ff00ff;\"><a href=\"http:\/\/interdata.vn\/vps-n8n\/\" style=\"color: #ff00ff;\"><strong>VPS n8n<\/strong><\/a><\/span> \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u s\u1eb5n. D\u1ecbch v\u1ee5 n\u00e0y cho ph\u00e9p c\u00e0i \u0111\u1eb7t n8n ch\u1ec9 v\u1edbi m\u1ed9t c\u00fa nh\u1ea5p chu\u1ed9t nh\u1edd v\u00e0o b\u1ea3n OS Ubuntu \u0111\u00e3 t\u00edch h\u1ee3p s\u1eb5n n8n.<\/p>\n<p>B\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c tr\u1ea3i nghi\u1ec7m hi\u1ec7u n\u0103ng v\u01b0\u1ee3t tr\u1ed9i v\u1edbi c\u1ea5u h\u00ecnh cao c\u1ea5p s\u1eed d\u1ee5ng chip AMD Epyc \/ Intel Platinum (t\u00f9y g\u00f3i), \u1ed5 c\u1ee9ng SSD NVMe U.2 t\u1ed1c \u0111\u1ed9 cao, b\u0103ng th\u00f4ng kh\u00f4ng gi\u1edbi h\u1ea1n v\u00e0 port speed l\u00ean \u0111\u1ebfn 10Gbps, t\u1ea5t c\u1ea3 v\u1edbi m\u1ee9c gi\u00e1 h\u1ee3p l\u00fd v\u00e0 \u0111\u1ed9 \u1ed5n \u0111\u1ecbnh cao.<\/p>\n<p>Gi\u1ea3i ph\u00e1p n\u00e0y \u0111\u1eb7c bi\u1ec7t ph\u00f9 h\u1ee3p n\u1ebfu b\u1ea1n mu\u1ed1n t\u1eadp trung v\u00e0o vi\u1ec7c s\u1eed d\u1ee5ng n8n thay v\u00ec t\u1ed1n th\u1eddi gian v\u00e0o c\u00e1c b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t k\u1ef9 thu\u1eadt ph\u1ee9c t\u1ea1p.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData.jpg\" alt=\"Banner VPS n8n InterData\" width=\"500\" height=\"500\" class=\"aligncenter wp-image-28422\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData-300x300.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData-150x150.jpg 150w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData-75x75.jpg 75w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Banner-VPS-n8n-InterData-350x350.jpg 350w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-1-Truy-cap-va-dang-nhap-vao-portal-supportinterdatavn\"><\/span>B\u01b0\u1edbc 1: Truy c\u1eadp v\u00e0 \u0111\u0103ng nh\u1eadp v\u00e0o portal support.interdata.vn<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 b\u1eaft \u0111\u1ea7u, h\u00e3y truy c\u1eadp v\u00e0o trang qu\u1ea3n l\u00fd d\u1ecbch v\u1ee5 c\u1ee7a InterData t\u1ea1i \u0111\u1ecba ch\u1ec9 <a href=\"https:\/\/support.interdata.vn\/\">support.interdata.vn<\/a>. S\u1eed d\u1ee5ng th\u00f4ng tin \u0111\u0103ng nh\u1eadp \u0111\u00e3 \u0111\u01b0\u1ee3c cung c\u1ea5p \u0111\u1ec3 v\u00e0o t\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Dang-nhap-trang-portal-InterData.png\" alt=\"\u0110\u0103ng nh\u1eadp trang portal InterData\" width=\"550\" height=\"249\" class=\"aligncenter wp-image-28426\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Dang-nhap-trang-portal-InterData.png 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Dang-nhap-trang-portal-InterData-300x136.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-2-Dang-ky-dich-vu-VPS-va-chon-goi-phu-hop\"><\/span>B\u01b0\u1edbc 2: \u0110\u0103ng k\u00fd d\u1ecbch v\u1ee5 VPS v\u00e0 ch\u1ecdn g\u00f3i ph\u00f9 h\u1ee3p<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Trong giao di\u1ec7n qu\u1ea3n l\u00fd, t\u00ecm \u0111\u1ebfn m\u1ee5c <strong>&#8220;\u0110\u0103ng k\u00fd d\u1ecbch v\u1ee5&#8221;<\/strong> tr\u00ean thanh menu. T\u1ea1i \u0111\u00e2y, InterData cung c\u1ea5p nhi\u1ec1u g\u00f3i VPS v\u1edbi c\u00e1c c\u1ea5u h\u00ecnh kh\u00e1c nhau.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-dang-ky-dich-vu-tren-Menu.png\" alt=\"Ch\u1ecdn \u0111\u0103ng k\u00fd d\u1ecbch v\u1ee5 tr\u00ean Menu\" width=\"550\" height=\"187\" class=\"aligncenter wp-image-28423\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-dang-ky-dich-vu-tren-Menu.png 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-dang-ky-dich-vu-tren-Menu-300x102.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>H\u00e3y xem x\u00e9t nhu c\u1ea7u s\u1eed d\u1ee5ng n8n c\u1ee7a b\u1ea1n \u0111\u1ec3 <strong>ch\u1ecdn g\u00f3i VPS<\/strong> c\u00f3 t\u00e0i nguy\u00ean CPU, RAM v\u00e0 dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef ph\u00f9 h\u1ee3p.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-goi-VPS.png\" alt=\"Ch\u1ecdn g\u00f3i VPS\" width=\"550\" height=\"332\" class=\"aligncenter wp-image-28424\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-goi-VPS.png 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-goi-VPS-300x181.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-3-Chon-he-dieu-hanh-ubuntu-2204-n8n-khi-thiet-lap-VPS\"><\/span>B\u01b0\u1edbc 3: Ch\u1ecdn h\u1ec7 \u0111i\u1ec1u h\u00e0nh ubuntu-22.04-n8n khi thi\u1ebft l\u1eadp VPS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 b\u01b0\u1edbc quan tr\u1ecdng \u0111\u1ec3 \u0111\u01a1n gi\u1ea3n h\u00f3a qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t. Khi \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u ch\u1ecdn h\u1ec7 \u0111i\u1ec1u h\u00e0nh cho VPS, b\u1ea1n h\u00e3y t\u00ecm v\u00e0 ch\u1ecdn t\u00f9y ch\u1ecdn <strong>ubuntu-22.04-n8n<\/strong>. Template OS n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c InterData c\u1ea5u h\u00ecnh s\u1eb5n v\u1edbi n8n, gi\u00fap b\u1ea1n b\u1ecf qua nhi\u1ec1u b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-temp-OS-ubuntu-n8n.png\" alt=\"Ch\u1ecdn temp OS ubuntu n8n\" width=\"550\" height=\"326\" class=\"aligncenter wp-image-28425\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-temp-OS-ubuntu-n8n.png 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Chon-temp-OS-ubuntu-n8n-300x178.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-4-Hoan-tat-thanh-toan-va-nhan-thong-tin-truy-cap-n8n\"><\/span>B\u01b0\u1edbc 4: Ho\u00e0n t\u1ea5t thanh to\u00e1n v\u00e0 nh\u1eadn th\u00f4ng tin truy c\u1eadp n8n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Sau khi \u0111\u00e3 ch\u1ecdn g\u00f3i VPS v\u00e0 h\u1ec7 \u0111i\u1ec1u h\u00e0nh, b\u1ea1n <strong>ti\u1ebfn h\u00e0nh c\u00e1c b\u01b0\u1edbc thanh to\u00e1n<\/strong> theo h\u01b0\u1edbng d\u1eabn. Khi giao d\u1ecbch ho\u00e0n t\u1ea5t th\u00e0nh c\u00f4ng, InterData s\u1ebd t\u1ef1 \u0111\u1ed9ng kh\u1edfi t\u1ea1o VPS v\u00e0 <strong>g\u1eedi th\u00f4ng tin chi ti\u1ebft qua email<\/strong> cho b\u1ea1n. Email n\u00e0y s\u1ebd bao g\u1ed3m <strong>\u0111\u01b0\u1eddng d\u1eabn<\/strong> truy c\u1eadp tr\u1ef1c ti\u1ebfp v\u00e0o n8n v\u1edbi m\u1ed9t <strong>subdomain mi\u1ec5n ph\u00ed<\/strong>, c\u00f9ng v\u1edbi th\u00f4ng tin \u0111\u0103ng nh\u1eadp VPS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Email-thong-tin-VPS-n8n.jpg\" alt=\"Email th\u00f4ng tin VPS n8n\" width=\"550\" height=\"317\" class=\"aligncenter wp-image-28427\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Email-thong-tin-VPS-n8n.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Email-thong-tin-VPS-n8n-300x173.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cach-2-Cai-dat-n8n-tren-VPS-Ubuntu-thu-cong\"><\/span>C\u00e1ch 2: C\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu th\u1ee7 c\u00f4ng<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ph\u01b0\u01a1ng ph\u00e1p c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng mang l\u1ea1i s\u1ef1 linh ho\u1ea1t t\u1ed1i \u0111a v\u00e0 cho ph\u00e9p b\u1ea1n t\u00f9y ch\u1ec9nh s\u00e2u h\u01a1n m\u00f4i tr\u01b0\u1eddng n8n. C\u00e1ch n\u00e0y ph\u00f9 h\u1ee3p n\u1ebfu b\u1ea1n \u0111\u00e3 c\u00f3 kinh nghi\u1ec7m qu\u1ea3n tr\u1ecb VPS ho\u1eb7c mu\u1ed1n hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 c\u00e1c th\u00e0nh ph\u1ea7n c\u1ea5u th\u00e0nh h\u1ec7 th\u1ed1ng.<\/p>\n<p>C\u00f3 hai h\u01b0\u1edbng ti\u1ebfp c\u1eadn ch\u00ednh khi c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng: s\u1eed d\u1ee5ng Node.js v\u00e0 tr\u00ecnh qu\u1ea3n l\u00fd ti\u1ebfn tr\u00ecnh PM2, ho\u1eb7c tri\u1ec3n khai n8n th\u00f4ng qua Docker.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cap-nhat-he-thong-va-cai-dat-cac-goi-phu-thuoc-co-ban\"><\/span>C\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng v\u00e0 c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i ph\u1ee5 thu\u1ed9c c\u01a1 b\u1ea3n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tr\u01b0\u1edbc khi c\u00e0i \u0111\u1eb7t b\u1ea5t k\u1ef3 ph\u1ea7n m\u1ec1m n\u00e0o, vi\u1ec7c c\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng l\u00e0 r\u1ea5t quan tr\u1ecdng. M\u1edf terminal c\u1ee7a VPS v\u00e0 ch\u1ea1y c\u00e1c l\u1ec7nh sau \u0111\u1ec3 c\u1eadp nh\u1eadt danh s\u00e1ch g\u00f3i v\u00e0 n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i hi\u1ec7n c\u00f3: <code>sudo apt update<\/code> <code>sudo apt upgrade -y<\/code><\/p>\n<p>M\u1ed9t s\u1ed1 g\u00f3i ti\u1ec7n \u00edch c\u01a1 b\u1ea3n c\u00f3 th\u1ec3 c\u1ea7n thi\u1ebft trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t v\u00e0 qu\u1ea3n l\u00fd sau n\u00e0y. C\u00e0i \u0111\u1eb7t ch\u00fang b\u1eb1ng l\u1ec7nh: <code>sudo apt install curl wget git nano -y<\/code> <code>curl<\/code> v\u00e0 <code>wget<\/code> d\u00f9ng \u0111\u1ec3 t\u1ea3i file t\u1eeb internet, <code>git<\/code> \u0111\u1ec3 qu\u1ea3n l\u00fd m\u00e3 ngu\u1ed3n (n\u1ebfu c\u1ea7n), v\u00e0 <code>nano<\/code> l\u00e0 m\u1ed9t tr\u00ecnh so\u1ea1n th\u1ea3o v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n tr\u00ean terminal.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-dat-Nodejs-va-npm\"><\/span>C\u00e0i \u0111\u1eb7t Node.js v\u00e0 npm<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>n8n \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng tr\u00ean n\u1ec1n t\u1ea3ng Node.js, do \u0111\u00f3 b\u1ea1n c\u1ea7n c\u00e0i \u0111\u1eb7t Node.js v\u00e0 npm (Node Package Manager &#8211; Tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i Node). N\u00ean s\u1eed d\u1ee5ng phi\u00ean b\u1ea3n Node.js LTS (Long-Term Support &#8211; H\u1ed7 tr\u1ee3 d\u00e0i h\u1ea1n) \u0111\u01b0\u1ee3c n8n khuy\u1ebfn ngh\u1ecb \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh t\u01b0\u01a1ng th\u00edch v\u00e0 \u1ed5n \u0111\u1ecbnh.<\/p>\n<p>M\u1ed9t c\u00e1ch ph\u1ed5 bi\u1ebfn \u0111\u1ec3 qu\u1ea3n l\u00fd nhi\u1ec1u phi\u00ean b\u1ea3n Node.js l\u00e0 s\u1eed d\u1ee5ng NVM (Node Version Manager). C\u00e0i \u0111\u1eb7t NVM b\u1eb1ng l\u1ec7nh:<\/p>\n<p><code>curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.39.7\/install.sh | bash<\/code><\/p>\n<p>L\u01b0u \u00fd: Ki\u1ec3m tra trang GitHub c\u1ee7a NVM \u0111\u1ec3 c\u00f3 l\u1ec7nh c\u00e0i \u0111\u1eb7t phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t). Sau \u0111\u00f3, t\u1ea3i l\u1ea1i c\u1ea5u h\u00ecnh shell:<\/p>\n<p><code>source ~\/.bashrc<\/code> ho\u1eb7c <code>source ~\/.zshrc<\/code> (t\u00f9y thu\u1ed9c v\u00e0o shell b\u1ea1n \u0111ang d\u00f9ng).<\/p>\n<p>C\u00e0i \u0111\u1eb7t phi\u00ean b\u1ea3n Node.js LTS (v\u00ed d\u1ee5, phi\u00ean b\u1ea3n 18.x t\u1ea1i th\u1eddi \u0111i\u1ec3m vi\u1ebft b\u00e0i): <code>nvm install 18<\/code> <code>nvm use 18<\/code> <code>nvm alias default 18<\/code> X\u00e1c minh c\u00e0i \u0111\u1eb7t: <code>node -v<\/code> <code>npm -v<\/code><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-dat-n8n-bang-npm\"><\/span>C\u00e0i \u0111\u1eb7t n8n b\u1eb1ng npm<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi Node.js v\u00e0 npm \u0111\u00e3 s\u1eb5n s\u00e0ng, b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t n8n to\u00e0n c\u1ee5c b\u1eb1ng npm v\u1edbi l\u1ec7nh sau: <code>sudo npm install -g n8n<\/code> C\u1edd <code>-g<\/code> ch\u1ec9 \u0111\u1ecbnh r\u1eb1ng g\u00f3i n8n s\u1ebd \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t to\u00e0n c\u1ee5c, cho ph\u00e9p b\u1ea1n ch\u1ea1y n8n t\u1eeb b\u1ea5t k\u1ef3 \u0111\u00e2u trong h\u1ec7 th\u1ed1ng. Qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t c\u00f3 th\u1ec3 m\u1ea5t v\u00e0i ph\u00fat.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cau-hinh-n8n-chay-voi-PM2\"><\/span>C\u1ea5u h\u00ecnh n8n ch\u1ea1y v\u1edbi PM2<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 n8n ch\u1ea1y \u1ed5n \u0111\u1ecbnh d\u01b0\u1edbi d\u1ea1ng m\u1ed9t d\u1ecbch v\u1ee5 n\u1ec1n, t\u1ef1 kh\u1edfi \u0111\u1ed9ng l\u1ea1i khi g\u1eb7p l\u1ed7i v\u00e0 kh\u1edfi \u0111\u1ed9ng c\u00f9ng h\u1ec7 th\u1ed1ng, b\u1ea1n n\u00ean s\u1eed d\u1ee5ng m\u1ed9t tr\u00ecnh qu\u1ea3n l\u00fd ti\u1ebfn tr\u00ecnh nh\u01b0 PM2. PM2 l\u00e0 m\u1ed9t tr\u00ecnh qu\u1ea3n l\u00fd ti\u1ebfn tr\u00ecnh ph\u1ed5 bi\u1ebfn cho c\u00e1c \u1ee9ng d\u1ee5ng Node.js.<\/p>\n<p>C\u00e0i \u0111\u1eb7t PM2 to\u00e0n c\u1ee5c b\u1eb1ng npm: <code>sudo npm install -g pm2<\/code><\/p>\n<p>Sau khi c\u00e0i \u0111\u1eb7t PM2, kh\u1edfi \u0111\u1ed9ng n8n b\u1eb1ng PM2: <code>pm2 start n8n<\/code><\/p>\n<p>\u0110\u1ec3 PM2 t\u1ef1 \u0111\u1ed9ng kh\u1edfi \u0111\u1ed9ng c\u00e1c \u1ee9ng d\u1ee5ng khi VPS reboot, ch\u1ea1y l\u1ec7nh sau v\u00e0 l\u00e0m theo h\u01b0\u1edbng d\u1eabn tr\u00ean m\u00e0n h\u00ecnh: <code>pm2 startup systemd<\/code> L\u1ec7nh n\u00e0y s\u1ebd t\u1ea1o ra m\u1ed9t service unit systemd cho PM2.<\/p>\n<p>L\u01b0u c\u1ea5u h\u00ecnh ti\u1ebfn tr\u00ecnh hi\u1ec7n t\u1ea1i c\u1ee7a PM2: <code>pm2 save<\/code> B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1ee7a n8n b\u1eb1ng l\u1ec7nh <code>pm2 list<\/code> ho\u1eb7c <code>pm2 monit<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-dat-n8n-voi-Docker-va-Docker-Compose\"><\/span>C\u00e0i \u0111\u1eb7t n8n v\u1edbi Docker v\u00e0 Docker Compose<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Docker cung c\u1ea5p m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p \u0111\u00f3ng g\u00f3i v\u00e0 tri\u1ec3n khai \u1ee9ng d\u1ee5ng trong c\u00e1c container bi\u1ec7t l\u1eadp, gi\u00fap vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 n\u00e2ng c\u1ea5p tr\u1edf n\u00ean d\u1ec5 d\u00e0ng h\u01a1n. Docker Compose cho ph\u00e9p b\u1ea1n \u0111\u1ecbnh ngh\u0129a v\u00e0 ch\u1ea1y c\u00e1c \u1ee9ng d\u1ee5ng Docker \u0111a container.<\/p>\n<h4>C\u00e0i \u0111\u1eb7t Docker v\u00e0 Docker Compose tr\u00ean Ubuntu<\/h4>\n<p>\u0110\u1ea7u ti\u00ean, g\u1ee1 c\u00e0i \u0111\u1eb7t c\u00e1c phi\u00ean b\u1ea3n Docker c\u0169 (n\u1ebfu c\u00f3): <code>for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done<\/code><\/p>\n<p>C\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i c\u1ea7n thi\u1ebft \u0111\u1ec3 th\u00eam kho l\u01b0u tr\u1eef Docker:\u00a0<code>sudo apt-get update<\/code> <code>sudo apt-get install ca-certificates curl<\/code> <code>sudo install -m 0755 -d \/etc\/apt\/keyrings<\/code> <code>sudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc<\/code> <code>sudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/p>\n<p>Th\u00eam kho l\u01b0u tr\u1eef Docker v\u00e0o danh s\u00e1ch ngu\u1ed3n c\u1ee7a APT: <code>echo \\<\/code> <code>\"deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/ubuntu \\<\/code> <code>$(. \/etc\/os-release\u00a0&amp;&amp; echo \"$VERSION_CODENAME\") stable\" | \\<\/code> <code>sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null<\/code> <code>sudo apt-get update<\/code><\/p>\n<p>C\u00e0i \u0111\u1eb7t Docker Engine, CLI, Containerd v\u00e0 Docker Compose: <code>sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y<\/code><\/p>\n<p>Ki\u1ec3m tra c\u00e0i \u0111\u1eb7t Docker: <code>sudo docker run hello-world<\/code><\/p>\n<p>Th\u00eam ng\u01b0\u1eddi d\u00f9ng hi\u1ec7n t\u1ea1i v\u00e0o nh\u00f3m <code>docker<\/code> \u0111\u1ec3 ch\u1ea1y l\u1ec7nh docker m\u00e0 kh\u00f4ng c\u1ea7n <code>sudo<\/code> (c\u1ea7n \u0111\u0103ng xu\u1ea5t v\u00e0 \u0111\u0103ng nh\u1eadp l\u1ea1i ho\u1eb7c m\u1edf terminal m\u1edbi \u0111\u1ec3 thay \u0111\u1ed5i c\u00f3 hi\u1ec7u l\u1ef1c): <code>sudo usermod -aG docker ${USER}<\/code> <code>newgrp docker<\/code> (\u00e1p d\u1ee5ng ngay cho session hi\u1ec7n t\u1ea1i)<\/p>\n<h4>T\u1ea1o file docker-compose.yml cho n8n<\/h4>\n<p>T\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c m\u1edbi cho c\u1ea5u h\u00ecnh n8n, v\u00ed d\u1ee5 <code>~\/n8n-docker<\/code>: <code>mkdir ~\/n8n-docker<\/code> <code>cd ~\/n8n-docker<\/code><\/p>\n<p>T\u1ea1o m\u1ed9t file t\u00ean l\u00e0 <code>docker-compose.yml<\/code> b\u1eb1ng tr\u00ecnh so\u1ea1n th\u1ea3o <code>nano<\/code>: <code>nano docker-compose.yml<\/code><\/p>\n<p>D\u00e1n n\u1ed9i dung sau v\u00e0o file (\u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 c\u01a1 b\u1ea3n, b\u1ea1n c\u00f3 th\u1ec3 t\u00f9y ch\u1ec9nh th\u00eam):<\/p>\n<div>\n<p>YAML<\/p>\n<pre><code>version: '3.7'\r\n\r\nservices:\r\n  n8n:\r\n    image: n8nio\/n8n\r\n    restart: always\r\n    ports:\r\n      - \"127.0.0.1:5678:5678\" # Ch\u1ec9 cho ph\u00e9p truy c\u1eadp t\u1eeb localhost ban \u0111\u1ea7u\r\n    environment:\r\n      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}\r\n      - N8N_PORT=5678\r\n      - N8N_PROTOCOL=https\r\n      - NODE_ENV=production\r\n      - WEBHOOK_URL=https:\/\/${SUBDOMAIN}.${DOMAIN_NAME}\/\r\n      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} # V\u00ed d\u1ee5: Europe\/Berlin ho\u1eb7c Asia\/Ho_Chi_Minh\r\n    volumes:\r\n      - .\/n8n_data:\/home\/node\/.n8n\r\n#     user: \"node\" # B\u1ecf comment n\u1ebfu ch\u1ea1y tr\u00ean Linux \u0111\u1ec3 tr\u00e1nh v\u1ea5n \u0111\u1ec1 permission, ho\u1eb7c s\u1eed d\u1ee5ng UID\/GID\r\n#     networks:\r\n#       - n8n-network\r\n\r\n# volumes:\r\n#  n8n_data:\r\n\r\n# networks:\r\n#  n8n-network:\r\n<\/code><\/pre>\n<\/div>\n<p>Trong file tr\u00ean, b\u1ea1n c\u1ea7n thay th\u1ebf <code>${SUBDOMAIN}<\/code>, <code>${DOMAIN_NAME}<\/code>, v\u00e0 <code>${GENERIC_TIMEZONE}<\/code> b\u1eb1ng c\u00e1c gi\u00e1 tr\u1ecb th\u1ef1c t\u1ebf c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5: <code>n8n<\/code>, <code>example.com<\/code>, <code>Asia\/Ho_Chi_Minh<\/code>). M\u1ee5c <code>volumes<\/code> \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u n8n b\u1ec1n v\u1eefng, ngay c\u1ea3 khi container b\u1ecb x\u00f3a v\u00e0 t\u1ea1o l\u1ea1i. D\u00f2ng <code>ports<\/code> \u00e1nh x\u1ea1 port 5678 c\u1ee7a container n8n ra port 5678 tr\u00ean localhost c\u1ee7a VPS. \u0110i\u1ec1u n\u00e0y t\u0103ng c\u01b0\u1eddng b\u1ea3o m\u1eadt ban \u0111\u1ea7u, ch\u1ec9 cho ph\u00e9p truy c\u1eadp n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi c\u1ea5u h\u00ecnh reverse proxy.<\/p>\n<p>L\u01b0u file v\u00e0 tho\u00e1t (<code>Ctrl+X<\/code>, sau \u0111\u00f3 <code>Y<\/code>, r\u1ed3i <code>Enter<\/code>).<\/p>\n<h4>Kh\u1edfi ch\u1ea1y n8n v\u1edbi Docker Compose<\/h4>\n<p>Trong th\u01b0 m\u1ee5c <code>~\/n8n-docker<\/code> (ch\u1ee9a file <code>docker-compose.yml<\/code>), ch\u1ea1y l\u1ec7nh: <code>docker-compose up -d<\/code> C\u1edd <code>-d<\/code> (detached mode) \u0111\u1ec3 container ch\u1ea1y ng\u1ea7m.<\/p>\n<p>Ki\u1ec3m tra tr\u1ea1ng th\u00e1i container: <code>docker-compose ps<\/code> Xem log c\u1ee7a container n8n: <code>docker-compose logs -f n8n<\/code><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cau-hinh-sau-cai-dat-de-n8n-hoat-dong-toi-uu-va-bao-mat\"><\/span>C\u1ea5u h\u00ecnh sau c\u00e0i \u0111\u1eb7t \u0111\u1ec3 n8n ho\u1ea1t \u0111\u1ed9ng t\u1ed1i \u01b0u v\u00e0 b\u1ea3o m\u1eadt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sau khi n8n \u0111\u00e3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t v\u00e0 ch\u1ea1y, c\u00f3 m\u1ed9t s\u1ed1 b\u01b0\u1edbc c\u1ea5u h\u00ecnh quan tr\u1ecdng c\u1ea7n th\u1ef1c hi\u1ec7n \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o n8n ho\u1ea1t \u0111\u1ed9ng \u1ed5n \u0111\u1ecbnh, an to\u00e0n v\u00e0 c\u00f3 th\u1ec3 truy c\u1eadp d\u1ec5 d\u00e0ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Truy-cap-n8n-lan-dau-qua-dia-chi-IP-va-port\"><\/span>Truy c\u1eadp n8n l\u1ea7n \u0111\u1ea7u qua \u0111\u1ecba ch\u1ec9 IP v\u00e0 port<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u1ebfu b\u1ea1n c\u00e0i \u0111\u1eb7t th\u1ee7 c\u00f4ng (b\u1eb1ng npm ho\u1eb7c Docker m\u00e0 ch\u01b0a c\u1ea5u h\u00ecnh reverse proxy), n8n th\u01b0\u1eddng s\u1ebd ch\u1ea1y tr\u00ean port <code>5678<\/code>. B\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp giao di\u1ec7n web c\u1ee7a n8n b\u1eb1ng c\u00e1ch m\u1edf tr\u00ecnh duy\u1ec7t v\u00e0 nh\u1eadp <code>http:\/\/your_server_ip:5678<\/code> (thay <code>your_server_ip<\/code> b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP th\u1ef1c c\u1ee7a VPS).<\/p>\n<p>N\u1ebfu b\u1ea1n s\u1eed d\u1ee5ng Docker v\u1edbi c\u1ea5u h\u00ecnh <code>ports: - \"127.0.0.1:5678:5678\"<\/code>, b\u1ea1n ch\u01b0a th\u1ec3 truy c\u1eadp t\u1eeb b\u00ean ngo\u00e0i. \u0110\u00e2y l\u00e0 b\u01b0\u1edbc chu\u1ea9n b\u1ecb cho c\u1ea5u h\u00ecnh reverse proxy.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cau-hinh-Reverse-Proxy-voi-Nginx-Truy-cap-qua-ten-mien\"><\/span>C\u1ea5u h\u00ecnh Reverse Proxy v\u1edbi Nginx (Truy c\u1eadp qua t\u00ean mi\u1ec1n)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>S\u1eed d\u1ee5ng reverse proxy nh\u01b0 Nginx cho ph\u00e9p b\u1ea1n truy c\u1eadp n8n qua t\u00ean mi\u1ec1n (v\u00ed d\u1ee5: <code>n8n.yourdomain.com<\/code>) thay v\u00ec \u0111\u1ecba ch\u1ec9 IP v\u00e0 port. Nginx c\u0169ng gi\u00fap qu\u1ea3n l\u00fd SSL v\u00e0 c\u00e2n b\u1eb1ng t\u1ea3i (n\u1ebfu c\u1ea7n).<\/p>\n<p>C\u00e0i \u0111\u1eb7t Nginx: <code>sudo apt update<\/code> <code>sudo apt install nginx -y<\/code><\/p>\n<p>T\u1ea1o m\u1ed9t file c\u1ea5u h\u00ecnh server block m\u1edbi cho n8n trong th\u01b0 m\u1ee5c <code>\/etc\/nginx\/sites-available\/<\/code>. V\u00ed d\u1ee5, t\u1ea1o file <code>n8n.conf<\/code>: <code>sudo nano \/etc\/nginx\/sites-available\/n8n.conf<\/code><\/p>\n<p>D\u00e1n n\u1ed9i dung c\u1ea5u h\u00ecnh sau (thay <code>n8n.yourdomain.com<\/code> b\u1eb1ng t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n):<\/p>\n<div>\n<p>Nginx<\/p>\n<pre><code>server {\r\n    listen 80;\r\n    server_name n8n.yourdomain.com;\r\n\r\n    location \/ {\r\n        proxy_pass http:\/\/localhost:5678; # Ho\u1eb7c IP c\u1ee7a container Docker n\u1ebfu c\u1ea7n\r\n        proxy_http_version 1.1;\r\n        proxy_set_header Upgrade $http_upgrade;\r\n        proxy_set_header Connection 'upgrade';\r\n        proxy_set_header Host $host;\r\n        proxy_cache_bypass $http_upgrade;\r\n        proxy_set_header X-Real-IP $remote_addr;\r\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\r\n        proxy_set_header X-Forwarded-Proto $scheme;\r\n    }\r\n}\r\n<\/code><\/pre>\n<\/div>\n<p>N\u1ebfu d\u00f9ng Docker, <code>proxy_pass<\/code> s\u1ebd l\u00e0 <code>http:\/\/localhost:5678<\/code> n\u1ebfu b\u1ea1n \u0111\u00e3 map port c\u1ee7a container ra localhost c\u1ee7a VPS.<\/p>\n<p>K\u00edch ho\u1ea1t file c\u1ea5u h\u00ecnh b\u1eb1ng c\u00e1ch t\u1ea1o symbolic link \u0111\u1ebfn th\u01b0 m\u1ee5c <code>sites-enabled<\/code>: <code>sudo ln -s \/etc\/nginx\/sites-available\/n8n.conf \/etc\/nginx\/sites-enabled\/<\/code><\/p>\n<p>Ki\u1ec3m tra c\u00fa ph\u00e1p c\u1ea5u h\u00ecnh Nginx: <code>sudo nginx -t<\/code> N\u1ebfu kh\u00f4ng c\u00f3 l\u1ed7i, kh\u1edfi \u0111\u1ed9ng l\u1ea1i Nginx: <code>sudo systemctl restart nginx<\/code> Cho ph\u00e9p Nginx qua firewall (n\u1ebfu UFW \u0111ang ho\u1ea1t \u0111\u1ed9ng): <code>sudo ufw allow 'Nginx Full'<\/code><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bao-mat-n8n-voi-SSLTLS-su-dung-Lets-Encrypt-HTTPS\"><\/span>B\u1ea3o m\u1eadt n8n v\u1edbi SSL\/TLS s\u1eed d\u1ee5ng Let&#8217;s Encrypt (HTTPS)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>S\u1eed d\u1ee5ng HTTPS l\u00e0 c\u1ef1c k\u1ef3 quan tr\u1ecdng \u0111\u1ec3 m\u00e3 h\u00f3a l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp gi\u1eefa ng\u01b0\u1eddi d\u00f9ng v\u00e0 n8n. Let&#8217;s Encrypt cung c\u1ea5p ch\u1ee9ng ch\u1ec9 SSL\/TLS mi\u1ec5n ph\u00ed.<\/p>\n<p>C\u00e0i \u0111\u1eb7t Certbot, c\u00f4ng c\u1ee5 c\u1ee7a Let&#8217;s Encrypt, v\u00e0 plugin Nginx cho Certbot: <code>sudo apt install certbot python3-certbot-nginx -y<\/code><\/p>\n<p>Y\u00eau c\u1ea7u v\u00e0 t\u1ef1 \u0111\u1ed9ng c\u1ea5u h\u00ecnh ch\u1ee9ng ch\u1ec9 SSL cho t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n: <code>sudo certbot --nginx -d n8n.yourdomain.com<\/code> (Thay <code>n8n.yourdomain.com<\/code> b\u1eb1ng t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n). Certbot s\u1ebd h\u1ecfi b\u1ea1n m\u1ed9t s\u1ed1 th\u00f4ng tin (email, \u0111\u1ed3ng \u00fd \u0111i\u1ec1u kho\u1ea3n) v\u00e0 t\u00f9y ch\u1ecdn chuy\u1ec3n h\u01b0\u1edbng HTTP sang HTTPS. Ch\u1ecdn chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ec3 t\u0103ng c\u01b0\u1eddng b\u1ea3o m\u1eadt.<\/p>\n<p>Certbot s\u1ebd t\u1ef1 \u0111\u1ed9ng gia h\u1ea1n ch\u1ee9ng ch\u1ec9. B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra vi\u1ec7c gia h\u1ea1n t\u1ef1 \u0111\u1ed9ng b\u1eb1ng l\u1ec7nh: <code>sudo certbot renew --dry-run<\/code><\/p>\n<p>Sau khi ho\u00e0n t\u1ea5t, b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp n8n an to\u00e0n qua <code>https:\/\/n8n.yourdomain.com<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cac-thiet-lap-co-ban-trong-giao-dien-n8n\"><\/span>C\u00e1c thi\u1ebft l\u1eadp c\u01a1 b\u1ea3n trong giao di\u1ec7n n8n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi truy c\u1eadp n8n l\u1ea7n \u0111\u1ea7u qua t\u00ean mi\u1ec1n \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt HTTPS, b\u1ea1n s\u1ebd c\u1ea7n t\u1ea1o m\u1ed9t t\u00e0i kho\u1ea3n qu\u1ea3n tr\u1ecb (owner account). \u0110i\u1ec1n th\u00f4ng tin c\u1ea7n thi\u1ebft v\u00e0 ghi nh\u1edb m\u1eadt kh\u1ea9u n\u00e0y.<\/p>\n<p>Trong giao di\u1ec7n n8n, b\u1ea1n c\u00f3 th\u1ec3 kh\u00e1m ph\u00e1 c\u00e1c c\u00e0i \u0111\u1eb7t chung. C\u00e1c m\u1ee5c nh\u01b0 m\u00fai gi\u1edd (<code>Timezone<\/code>) n\u00ean \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp ph\u00f9 h\u1ee3p v\u1edbi v\u1ecb tr\u00ed c\u1ee7a b\u1ea1n \u0111\u1ec3 c\u00e1c t\u00e1c v\u1ee5 li\u00ean quan \u0111\u1ebfn th\u1eddi gian ho\u1ea1t \u0111\u1ed9ng ch\u00ednh x\u00e1c.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Xu-ly-mot-so-loi-thuong-gap-khi-cai-dat-n8n-tren-Ubuntu\"><\/span>X\u1eed l\u00fd m\u1ed9t s\u1ed1 l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t n8n tr\u00ean Ubuntu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t, b\u1ea1n c\u00f3 th\u1ec3 g\u1eb7p m\u1ed9t s\u1ed1 v\u1ea5n \u0111\u1ec1. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c l\u1ed7i ph\u1ed5 bi\u1ebfn v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c nhanh.<\/p>\n<ul>\n<li><strong>L\u1ed7i Port b\u1ecb chi\u1ebfm d\u1ee5ng:<\/strong> N\u1ebfu n8n (port 5678) ho\u1eb7c Nginx (port 80, 443) kh\u00f4ng kh\u1edfi \u0111\u1ed9ng \u0111\u01b0\u1ee3c do port \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng, d\u00f9ng l\u1ec7nh <code>sudo lsof -i :PORT_NUMBER<\/code> ho\u1eb7c <code>sudo netstat -tulnp | grep PORT_NUMBER<\/code> \u0111\u1ec3 t\u00ecm ti\u1ebfn tr\u00ecnh \u0111ang chi\u1ebfm port v\u00e0 d\u1eebng ti\u1ebfn tr\u00ecnh \u0111\u00f3 ho\u1eb7c \u0111\u1ed5i port cho n8n\/Nginx.<\/li>\n<li><strong>L\u1ed7i ph\u00e2n quy\u1ec1n (Permission Denied):<\/strong> Khi ch\u1ea1y c\u00e1c l\u1ec7nh <code>npm install -g<\/code> ho\u1eb7c thao t\u00e1c v\u1edbi Docker, n\u1ebfu g\u1eb7p l\u1ed7i ph\u00e2n quy\u1ec1n, h\u00e3y \u0111\u1ea3m b\u1ea3o b\u1ea1n \u0111\u00e3 s\u1eed d\u1ee5ng <code>sudo<\/code> \u0111\u00fang c\u00e1ch. V\u1edbi Docker, vi\u1ec7c th\u00eam user v\u00e0o group <code>docker<\/code> s\u1ebd gi\u00fap ch\u1ea1y l\u1ec7nh kh\u00f4ng c\u1ea7n <code>sudo<\/code>.<\/li>\n<li><strong>V\u1ea5n \u0111\u1ec1 phi\u00ean b\u1ea3n Node.js:<\/strong> n8n y\u00eau c\u1ea7u phi\u00ean b\u1ea3n Node.js c\u1ee5 th\u1ec3. N\u1ebfu c\u00e0i sai phi\u00ean b\u1ea3n, n8n c\u00f3 th\u1ec3 kh\u00f4ng ch\u1ea1y. S\u1eed d\u1ee5ng NVM \u0111\u1ec3 d\u1ec5 d\u00e0ng chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c phi\u00ean b\u1ea3n Node.js.<\/li>\n<li><strong>L\u1ed7i c\u1ea5u h\u00ecnh Nginx:<\/strong> Sau khi s\u1eeda file c\u1ea5u h\u00ecnh Nginx, lu\u00f4n ch\u1ea1y <code>sudo nginx -t<\/code> \u0111\u1ec3 ki\u1ec3m tra. L\u1ed7i c\u00fa ph\u00e1p s\u1ebd \u0111\u01b0\u1ee3c ch\u1ec9 ra, gi\u00fap b\u1ea1n s\u1eeda ch\u1eefa tr\u01b0\u1edbc khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i Nginx. Log l\u1ed7i c\u1ee7a Nginx th\u01b0\u1eddng n\u1eb1m \u1edf <code>\/var\/log\/nginx\/error.log<\/code>.<\/li>\n<li><strong>Webhook kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng sau khi thi\u1ebft l\u1eadp reverse proxy:<\/strong> \u0110\u1ea3m b\u1ea3o bi\u1ebfn m\u00f4i tr\u01b0\u1eddng <code>WEBHOOK_URL<\/code> (trong file <code>docker-compose.yml<\/code> ho\u1eb7c bi\u1ebfn m\u00f4i tr\u01b0\u1eddng khi ch\u1ea1y b\u1eb1ng PM2) \u0111\u01b0\u1ee3c \u0111\u1eb7t \u0111\u00fang th\u00e0nh URL c\u00f4ng khai c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5: <code>https:\/\/n8n.yourdomain.com\/<\/code>).<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Meo-va-luu-y-quan-trong-khi-su-dung-n8n-tren-VPS\"><\/span>M\u1eb9o v\u00e0 l\u01b0u \u00fd quan tr\u1ecdng khi s\u1eed d\u1ee5ng n8n tr\u00ean VPS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 n8n ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 v\u00e0 an to\u00e0n l\u00e2u d\u00e0i tr\u00ean VPS, h\u00e3y l\u01b0u \u00fd m\u1ed9t s\u1ed1 \u0111i\u1ec3m sau.<\/p>\n<ul>\n<li><strong>Sao l\u01b0u d\u1eef li\u1ec7u n8n th\u01b0\u1eddng xuy\u00ean:<\/strong> D\u1eef li\u1ec7u workflows v\u00e0 credentials r\u1ea5t quan tr\u1ecdng. N\u1ebfu c\u00e0i b\u1eb1ng npm, th\u01b0 m\u1ee5c d\u1eef li\u1ec7u m\u1eb7c \u0111\u1ecbnh l\u00e0 <code>~\/.n8n<\/code>. N\u1ebfu d\u00f9ng Docker, \u0111\u00f3 l\u00e0 volume b\u1ea1n \u0111\u00e3 map (v\u00ed d\u1ee5 <code>~\/n8n-docker\/n8n_data<\/code>). Thi\u1ebft l\u1eadp c\u01a1 ch\u1ebf sao l\u01b0u t\u1ef1 \u0111\u1ed9ng cho c\u00e1c th\u01b0 m\u1ee5c n\u00e0y.<\/li>\n<li><strong>C\u1eadp nh\u1eadt n8n l\u00ean phi\u00ean b\u1ea3n m\u1edbi:<\/strong> Theo d\u00f5i c\u00e1c b\u1ea3n ph\u00e1t h\u00e0nh m\u1edbi c\u1ee7a n8n \u0111\u1ec3 nh\u1eadn c\u00e1c t\u00ednh n\u0103ng m\u1edbi v\u00e0 b\u1ea3n v\u00e1 b\u1ea3o m\u1eadt. Quy tr\u00ecnh c\u1eadp nh\u1eadt s\u1ebd kh\u00e1c nhau t\u00f9y thu\u1ed9c v\u00e0o c\u00e1ch b\u1ea1n c\u00e0i \u0111\u1eb7t (npm ho\u1eb7c Docker). Lu\u00f4n sao l\u01b0u tr\u01b0\u1edbc khi c\u1eadp nh\u1eadt.<\/li>\n<li><strong>Theo d\u00f5i t\u00e0i nguy\u00ean VPS:<\/strong> S\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 nh\u01b0 <code>htop<\/code>, <code>vmstat<\/code> \u0111\u1ec3 theo d\u00f5i vi\u1ec7c s\u1eed d\u1ee5ng CPU, RAM, dung l\u01b0\u1ee3ng \u0111\u0129a c\u1ee7a VPS. N\u1ebfu n8n x\u1eed l\u00fd nhi\u1ec1u workflows ph\u1ee9c t\u1ea1p, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea7n n\u00e2ng c\u1ea5p t\u00e0i nguy\u00ean VPS.<\/li>\n<li><strong>B\u1ea3o m\u1eadt VPS:<\/strong> Ngo\u00e0i SSL cho n8n, h\u00e3y \u00e1p d\u1ee5ng c\u00e1c bi\u1ec7n ph\u00e1p b\u1ea3o m\u1eadt chung cho VPS Ubuntu nh\u01b0 s\u1eed d\u1ee5ng m\u1eadt kh\u1ea9u m\u1ea1nh, c\u1eadp nh\u1eadt h\u1ec7 \u0111i\u1ec1u h\u00e0nh th\u01b0\u1eddng xuy\u00ean, c\u1ea5u h\u00ecnh firewall (UFW), v\u00e0 c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t Fail2ban \u0111\u1ec3 ch\u1ed1ng brute-force attack.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-dieu-ban-co-the-lam-sau-khi-cai-dat\"><\/span>Nh\u1eefng \u0111i\u1ec1u b\u1ea1n c\u00f3 th\u1ec3 l\u00e0m sau khi c\u00e0i \u0111\u1eb7t<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng n8n tr\u00ean VPS Ubuntu m\u1edf ra v\u00f4 v\u00e0n kh\u1ea3 n\u0103ng t\u1ef1 \u0111\u1ed9ng h\u00f3a. B\u1ea1n \u0111\u00e3 c\u00f3 m\u1ed9t n\u1ec1n t\u1ea3ng m\u1ea1nh m\u1ebd \u0111\u1ec3 k\u1ebft n\u1ed1i c\u00e1c \u1ee9ng d\u1ee5ng v\u00e0 d\u1ecbch v\u1ee5, t\u1ed1i \u01b0u h\u00f3a c\u00f4ng vi\u1ec7c h\u00e0ng ng\u00e0y. H\u00e3y b\u1eaft \u0111\u1ea7u b\u1eb1ng vi\u1ec7c kh\u00e1m ph\u00e1 giao di\u1ec7n n8n, t\u00ecm hi\u1ec3u c\u00e1ch t\u1ea1o workflow \u0111\u1ea7u ti\u00ean, k\u1ebft n\u1ed1i c\u00e1c \u1ee9ng d\u1ee5ng b\u1ea1n th\u01b0\u1eddng d\u00f9ng. C\u1ed9ng \u0111\u1ed3ng n8n r\u1ea5t l\u1edbn, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y nhi\u1ec1u v\u00ed d\u1ee5 v\u00e0 ngu\u1ed3n c\u1ea3m h\u1ee9ng t\u1eeb \u0111\u00f3.<\/p>\n<p>N\u1ebfu c\u00f3 b\u1ea5t k\u1ef3 th\u1eafc m\u1eafc n\u00e0o trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t ho\u1eb7c s\u1eed d\u1ee5ng, \u0111\u1eebng ng\u1ea7n ng\u1ea1i \u0111\u1eb7t c\u00e2u h\u1ecfi ho\u1eb7c t\u00ecm ki\u1ebfm s\u1ef1 h\u1ed7 tr\u1ee3 t\u1eeb c\u00e1c di\u1ec5n \u0111\u00e0n c\u1ed9ng \u0111\u1ed3ng. Ch\u00fac b\u1ea1n th\u00e0nh c\u00f4ng v\u1edbi n8n!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian v\u00e0 n\u00e2ng cao hi\u1ec7u su\u1ea5t \u0111\u00e1ng k\u1ec3. B\u00e0i vi\u1ebft n\u00e0y cung c\u1ea5p h\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n c\u00e1c b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t n8n tr\u00ean VPS Ubuntu, t\u1eeb l\u1ef1a ch\u1ecdn ph\u01b0\u01a1ng ph\u00e1p ph\u00f9 h\u1ee3p nh\u01b0 s\u1eed d\u1ee5ng VPS\u00a0c\u1ee7a InterData v\u1edbi OS t\u00edch h\u1ee3p s\u1eb5n, \u0111\u1ebfn c\u00e0i<\/p>\n","protected":false},"author":2,"featured_media":28429,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[148],"tags":[],"class_list":["post-28420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kien-thuc-n8n"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=28420"}],"version-history":[{"count":6,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28420\/revisions"}],"predecessor-version":[{"id":28524,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28420\/revisions\/28524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/28429"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=28420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=28420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=28420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}