Để anh em chờ lâu quá cũng ngại, kì này series Cùng Học Cờ Lao đã quay trở lại rồi nha.
Ở kì trước, mình đã hướng dẫn các bạn cài đặt và làm đủ trò nghịch ngợm trên máy ảo rồi. Kì này, chúng ta sẽ thử deploy một ứng dụng đơn giản trên máy ảo, tìm hiểu cách Azure quản lý port nhé.
Chuẩn bị máy ảo sẵn sàng!
Để chuẩn bị, các bạn đọc lại kĩ phần 2, làm theo nha. Có thể lâu quá các bạn quên thì xem lại phần trước để tạo lại máy ảo nhé.
Sau khi làm xong chúng ta sẽ có 1 con máy ảo Windows có cài sẵn Chờ Rôm để tha hồ nghịch.
Cài đặt NodeJS để chạy app (Hoặc Java, C#)
Để server có thể muốn chạy 1 ứng dụng, chúng ta phải cài đặt Runtime của ứng dụng đó:
- Muốn chạy được app Java thì phải cài Java SE Runtime Environment
- Chạy app C# thì phải cài .NET Framework hoặc .NET Core
- Chạy app NodeJS thì phải cài … NodeJS
Quá trình cài đặt trên máy ảo cũng tương tự cài đặt trên máy của các bạn vậy thôi.
1. Login vào máy ảo, mở Chrome lên
2. Vào trang chủ của NodeJS, tải bản mới nhất về để cài: https://nodejs.org/en/download
3. Sau khi cài đặt xong, bạn mở command line lên, gõ node -v nếu thấy hiện version là ok nha
2. Chạy và kết nối với app NodeJS đơn giản
Tiếp theo, chúng ta sẽ chạy một project NodeJS vô cùng đơn giản.
1. Bạn mở Notepad lên, vào Start Menu tìm Nodepad là ra nha
2. Dán đoạn code sau vào, lưu lại thành server.js trong ổ D cho dễ tìm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const http = require('http') | |
const port = 3000 | |
const server = http.createServer((request, response) => { | |
console.log(request.url) | |
response.end('Hello from ToiDiCodeDao') | |
}) | |
server.listen(port, (err) => { | |
if (err) { | |
return console.log('something bad happened', err) | |
} | |
console.log(`Server is listening on ${port}`) | |
}) |
3. Mở cửa sổ command line lên, cd vào ổ D có chứa file vừa tạo và gõ node server.js, bạn đã có một ứng dụng web vô cùng cơ bản rồi.
4. Để truy cập trang web mình vừa tạo, các bạn mở chrome lên, gõ localhost:3000 vào trình duyệt nha. Có thấy Hello từ Tôi Đi Code Dạo chưa?
(Thấy NodeJS tiện chưa! Không cần phải tạo project, một đống thư viện lòng vòng như C# hay Java, cũng không cần tải Apache hay LAMP stack, chỉ cần 1 file là chạy được rồi!)
Để người khác truy cập website của bạn
Giờ giả sử bạn muốn khoe mọi người cái app “đơn giản” bạn thử làm thì sao?
Để truy cập app, bạn chỉ cần truy cập tới server đang chạy là xong chứ gì! Đúng rồi, vậy làm sao để truy cập tới server đang chạy app đó?
Dễ thôi, chỉ cần làm theo các bước sau đây:
1. Bạn có thể xem trực tiếp bên Azure, hoặc truy cập whatismyip.com từ máy ảo để xem ip của máy ảo đó.
2. Theo hình, IP của mình là 13.76.129.242. Vậy là bạn chỉ cần gõ 13.76.129.242:3000 là truy cập được thôi:
Thật ra là mình cố ý chỉ vậy để troll các bạn đấy. Mặc định, Azure sẽ chặn tất cả các port của VM đó (để tránh bị tấn công).
Bạn sẽ thấy ở bài trước, khi tạo VM, ta phải mở port 3389 thì mới có thể RDP vào được. Do vậy, để bà con truy cập được web application ở port 3000, bạn phải cho phép truy cập port 3000.
3. Các bạn quay lại Azure Portal (portal.azure.com), vào lại VM của mình, bấm vào phần Networking. Tại đây các bạn sẽ thấy port 3389 đã mở.
4. Các bạn bấm vào nút “Add Inbound Port” góc trên bên phải, chú ý điền Destionation Port Ranges 3000 là được nhé.
5. Ngoài ra, mặc định Window Fireware cũng sẽ … chặn tất cả các port. Các bạn quay lại máy ảo, vào Start Menu tìm Firewall, sau đó add port 3000 vào nhé.
6. Thử truy cập vào 13.76.129.242:3000 lại xem. Bạn đã truy cập được rồi đấy.
Bạn cũng có thể gửi link này cho bà con vào xem thử luôn!
Hướng dẫn kì này đến đây là hết rồi! Chúc mừng các bạn đã hoàn thành một bài khá dài và khó như vậy.
À quên, làm xong demo các bạn nhớ xóa sạch đống VM, Disk, IP v…v vừa tạo để không bị charge tiền vô duyên nhé :3
Tạm kết
Sau kì này, bạn đã có thể tự deploy một ứng dụng trên máy ảo Azure rồi đấy. Nếu bạn có app viết bằng C# hay Java cũng làm tương tự là được.
Bạn chỉ cần làm các bước:
- Cài đặt runtime (Java, C#)
- Tải source code hoặc bản build về
- Chạy ứng dụng đó trên server
- Mở port cho người khác kết nối vào làm xong ngay.
Ngoài ra, bạn cũng có dùng con máy ảo này để cài database server (MS SQL Server, MySQL), sau đó mở port phù hợp cho các ứng dụng của bạn kết nối vào là được.
Tuy nhiên, việc deploy app như vậy rất … thủ công, tốn thời gian (cài đặt, setup, mở port v…v). Do vậy ở kì sau, mình sẽ giới thiệu về 2 dịch vụ khá phổ biến nhất của Azure, giúp việc deploy dễ dàng hơn nha:
- Azure App Service – chỉ cần bỏ code lên là chạy
- Azure Database – Cài đặt và chạy MS SQL Database trong … 5 phút
P/S: Viết cái nì mệt lắm nên thấy hay các bạn nhớ comment hoặc like/share nhiệt tình để mình có động lực viết tiếp nha! Mãi yêu :3.
Mãi yêu ❤ :)))))))
LikeLike
hay quá anh Hoàng ơi
LikeLike
mãi iu ❤
LikeLike
Hoặc đơn giản hơn có thể code = Go, build ra file server binary .exe chỉ việc chạy, deploy siêu đơn giản :3
LikeLike
Cho e hỏi cái đống VM, Disk, IP… nếu mình k xóa mà vẫn để im cho con server chạy bình thường thì sau bao lâu nó sẽ tính phí ạ? Ý là muốn cắm một con máy ảo trên này thì mình duy trì được bao lâu a?
LikeLike
À nếu xài gói free thì hình như chạy 1 con b1ms ko bị tíbh phí đâu e, con mạnh hơn hợc 2 con mới bị
LikeLiked by 1 person
Nó cho $100 free mà em sài hết $80 băng thông rồi :v. Gói b1ms có tính tiền băng thông không anh :v
LikeLike
Băng thông gói nào cũng tính hết em. Cắm phim nhìu thì lấy card khác lấy tiền free nhé 😀
LikeLiked by 1 person
Cho em hỏi là có bạn kêu em active account chỉ tốn $1 thôi phải không anh? Mà sao em không tìm ra được ạ.
LikeLiked by 1 person
bài viết khá hữu ịch . mong bạn chia sẻ nhiều ❤
LikeLike