Hướng dẫn python service linux - dịch vụ python linux
Nếu để chọn một hệ điều hành thực sự tốt, ổn định cho lập trình Python, tôi sẽ khuyên bạn dùng MacOSX. Tuy nhiên nếu do điều kiện hạn chế, máy tính của bạn không thể cài đặt Hackintosh hoặc quá yếu thì Linux là một lựa chọn thứ 2 chứ không phải là Windows. Show
Nguyên nhân tại sao lại dùng Linux để lập trình Python mà không phải là Windows?
Hiện nay, Python đã có bản 3.7.3. Ubuntu bản 19.04 mới nhất mới cài kèm Python 3.7.3, còn bản Ubuntu 18.04 chỉ có Python 3.6. Tốt nhất bạn hãy cài Xubuntu 19.04 vì bản này dùng trình quản lý giao diện XCFE rất tin gọn. Ngay sau khi cài đặt xong Xubuntu 19.04 hãy mở terminal gõ lệnh như sau:
Tiếp đó bạn cài package để tạo virtual environment
Tạo thư mục dự án và tạo môi trường ảo Virtual Environment để gói gọn các gói python cài trong một thư mục, không ảnh hưởng đến các thư mục khác
Để chạy được Matplot Lib thì các bạn cần phải bổ xung thêm các gói Python kết hợp Tinker
Rồi bây giờ tạo thử một file Python là sin.py Hiển thị Matplot Lib trong Xubuntu 19.04, Python 3.7.3Hiển thị Matplot Lib trong Xubuntu 19.04, Python 3.7.3
Xin chào các bạn! Hôm nay Thịnh sẽ hướng dẫn các bạn thiết lập 1 máy ảo Ubuntu trên nền tảng Oracle Cloud để sử dụng cho việc lên lịch thực thi tự động các tác vụ với Python. Như các bạn đã biết, trong 1 bài chia sẻ của về chủ đề Phân tích dữ liệu với Python, tôi đã đầu tư 1 chiếc máy tính nhúng Raspberry Pi để sử dụng như 1 server giúp lên lịch thực thi Python script ví dụ như tự động refresh dữ liệu báo cáo, web scraping hay gửi tin nhắn cập nhật thông tin tự động thông qua Telegram bot. Tuy rằng cấu hình 1 chiếc Raspberry Pi 4B là quá ổn và đủ mạnh để dùng làm server thực thi Python, nhưng cũng có nhiều điểm bất cập chưa thể giải quyết triệt để điển hình là tuổi thọ của máy và phụ kiện khi phải hoạt động liên tục trong thời gian dài. Tiêu hao năng lượng cũng là 1 vấn đề nữa với Raspberry Pi tuy không lớn vì công suất tiêu thụ chỉ ở mức 15W/h. Dù sao nếu có 1 giải pháp thay thế để có 1 server chạy Python script 24/7 và không phải lo về chi phí thì thực sự quá tuyệt vời. Không để các bạn phải đợi lâu, giải pháp tôi đang muốn giới thiệu tới các bạn chính là tạo 1 máy ảo Linux (đặc biệt là Ubuntu trong hướng dẫn này) trên dịch vụ Oracle Cloud sử dụng tài nguyên ưu đãi miễn phí từ Oracle Cloud Free Tier. Rốt cuộc Oracle Cloud Free Tier là gì mà hay ho đến vậy?Oracle Cloud Free Tier. Rốt cuộc Oracle Cloud Free Tier là gì mà hay ho đến vậy?
Nào hãy cùng tôi bắt tay vào việc bằng cách theo dõi từng bước và thực hiện bạn nhé. I. Tạo tài khoản Oracle CloudĐể có thể thực hiện tạo tài khoản Oracle Cloud, bạn hãy truy cập trang web Tại đây và chọn Start for free như trong hình.Start for free như trong hình. Truy cập trang chủ Oracle Cloud để tiến hành đăng ký tài khoảnỞ màn hình tiếp theo, bạn cần điền 1 số thông tin cơ bản bao gồm Quốc gia, Tên bạn và địa chỉ email để Oracle Cloud gửi thông tin xác thực tài khoản. Sau khi điền thông tin, bạn chọn Verify my email như hình dưới đây.Verify my email như hình dưới đây. Sau khi gửi thông tin cho hệ thống, bạn sẽ nhận được 1 email từ Oracle Cloud vào địa chỉ email bạn đã đăng ký kèm đường link cho phép bạn xác thực việc tạo tài khoản của mình. Xác thực tài khoản thông qua emailSau khi mở đường link với nút Click here trong email như trên, bạn sẽ được yêu cầu tạo Password cho tài khoản, cung cấp thông tin Công ty, đặt tên cho tài khoản Cloud và chọn khu vực đặt máy chủ.Click here trong email như trên, bạn sẽ được yêu cầu tạo Password cho tài khoản, cung cấp thông tin Công ty, đặt tên cho tài khoản Cloud và chọn khu vực đặt máy chủ. Hoàn thiện thông tin tạo tài khoản Oracle CloudSau khi điền đầy đủ thông tin cần thiết, chọn Continue để chuyển đến bước điền thông tin địa chỉ của bạn.Continue để chuyển đến bước điền thông tin địa chỉ của bạn. Sau khi điền đầy đủ thông tin, bạn chọn Continue để tiếp tục chuyển đến bước thêm thông tin thẻ dùng làm phương thức thanh toán. Thêm phương thức thanh toánTại bước thêm thông tin thẻ, các loại thẻ hợp lệ là Visa, Mastercard và Amex. Sau khi điền đầy đủ thông tin thẻ, bạn chọn Finish. Đến đây, hệ thống sẽ xác thực thẻ của bạn còn hiệu lực hay không bằng cách trừ số tiền khoảng 23 ngàn tương ứng với 1USD sau đó hoàn lại tiền cho bạn ngay lập tức.Finish. Đến đây, hệ thống sẽ xác thực thẻ của bạn còn hiệu lực hay không bằng cách trừ số tiền khoảng 23 ngàn tương ứng với 1USD sau đó hoàn lại tiền cho bạn ngay lập tức. Thêm thông tin thẻ thanh toánSau khi hoàn tất bước này, bạn sẽ nhận được 1 email thông báo rằng yêu cầu tạo tài khoản của bạn đang được xem xét. Thông báo qua email: Yêu cầu đăng ký tài khoản Oracle Cloud đang được xem xét.Thời gian để bạn nhận được phản hồi về việc yêu cầu được phê duyệt thông thường sẽ trong vòng 24h. Email thông báo tạo tài khoản Oracle Cloud thành công như dưới đây kèm thông tin tài khoản và đường link đăng nhập hệ thống. Thông tin đăng nhập Oracle Cloud được gửi qua email sau khi gửi yêu cầu tạo tài khoản (trong vòng 24h)Bạn click vào Sign in to Oracle Cloud sẽ mở ra trang Dashboard như phần nội dung dưới đây. Như vậy ở phần I, bạn đã biết cách tạo cho mình 1 tài khoản Oracle Cloud để tận dụng các tài nguyên miễn phí Always Free cloud services rồi đấy.Sign in to Oracle Cloud sẽ mở ra trang Dashboard như phần nội dung dưới đây. Như vậy ở phần I, bạn đã biết cách tạo cho mình 1 tài khoản Oracle Cloud để tận dụng các tài nguyên miễn phí Always Free cloud services rồi đấy. II. Tạo máy ảo sử dụng hệ điều hành Ubuntu trên CloudSau khi mở đường link trong email ở bước trên để truy cập Oracle Cloud dashboard, bạn sẽ được đưa tới giao diện làm việc như dưới đây. Chọn Create a VM instance để bắt đầu quá trình tạo máy ảo.Create a VM instance để bắt đầu quá trình tạo máy ảo. Trang tổng quan quản lý các tài nguyên trên Oracle CloudỞ bước tiếp theo, bạn được yêu cầu đặt tên cho máy ảo của mình, ở đây mình đặt tên là
Sau khi hoàn tất các thông tin và cài đặt như hình bên dưới, chọn nút Create để tạo máy ảo.Create để tạo máy ảo. Hệ thống sẽ thực hiện tạo máy ảo theo thông tin bạn thiết lập và sẵn sàng sử dụng trong khoảng 5 phút. Tới đây 1 việc quan trọng bạn cần làm là copy địa chỉ Public IP Address như trong hình vào Notepad hoặc Google Keep để dùng cho việc thiết lập câu lệnh kết nối tới máy ảo thông qua Command Prompt trên Windows hoặc Terminal trên MacOS.việc quan trọng bạn cần làm là copy địa chỉ Public IP Address như trong hình vào Notepad hoặc Google Keep để dùng cho việc thiết lập câu lệnh kết nối tới máy ảo thông qua Command Prompt trên Windows hoặc Terminal trên MacOS. Thông tin cấu hình máy ảo Ubuntu được tạo với Oracle CloudCâu lệnh này có dạng
Câu lệnh tôi có được trong trường hợp này là: Bây giờ hãy mở ứng dụng Command Prompt trên Windows (sử dụng phím Windows và nhập cụm từ tìm kiếm Cmd) hoặc Terminal trên MacOS (sử dụng tổ hợp phím Command + Space và nhập Terminal). Copy câu lệnh chúng ta vừa tạo ra ở trên sau đó paste vào Command Prompt/Terminal. Ở lần đầu tiên chạy câu lệnh này, bạn có thể sẽ được hỏi 4 --> Hãy nhập 5 và nhấn Enter để tiếp tục.III. Thiết lập môi trường Python cho máy ảo Ubuntu3.1. Cài đặt bản phân phối Anaconda cho PythonGiới thiệu cơ bản cho bạn nào chưa quen thuộc với Anaconda theo Wikipedia.
Để thực hiện cài đặt Anaconda, các bạn cần nhập các câu lệnh theo từng bước dưới đây vào Command Prompt/Terminal sau khi đã kết nối đến máy ảo.
Sau khi quá trình cài đặt hoàn tất, bạn cần đóng Command Prompt và mở lại sau đó kết nối tới Ubuntu instance để thấy sự thay đổi khi Anaconda đã được cài đặt thành công. 3.2. Tạo thư mục làm việc với PythonĐể tạo 1 thư mục làm việc với Python và lưu trữ tất cả dữ liệu cho project của bạn có tên là 3, hãy sử dụng câu lệnh 4 trong Command Prompt/Terminal (máy ảo đang được kết nối).3.3 Kết nối SSH đến máy ảo Ubuntu thông qua Visual Studio Code3.3.1. Cài đặt Open SSH trên Windows
Để bật tính năng Open SSH bạn bấm phím Windows sau đó tìm kiếm Apps & Feature để mở mục cài đặt như dưới đây. Mở mục Optional features và tìm kiếm Open SSH, tick chọn tính năng và chọn mục Install như hình. Vậy là bạn đã bật thành công Open SSH trên Windows rồi đó. 3.3.2. Cài đặt Visual Studio Code (nếu chưa có)Visual Studio Code (VSC) là 1 IDE mạnh mẽ sử dụng trong việc lập trình nhiều loại ngôn ngữ rất tiện dụng. Mình dùng VSC là công cụ chính để làm việc với Python. Trong bước này, mình hướng dẫn các bạn cài VSC, 1 số plugin để làm việc với máy ảo trên Oracle Cloud để tiện trong việc lập trình, upload và download file với máy ảo và máy local của bạn.
3.3.3. Kết nối đến máy ảo Ubuntu thông qua VSCTrong khi mở VSC, sử dụng tổ hợp phím Ctrl + Shift + P (với Windows) hoặc Command + Shift + P và nhập 5 để tìm kiếm lệnh 6 --> Sử dụng phím mũi tên để di chuyển và Nhấn Enter để chọn.Tiếp theo, nhập câu lệnh ssh như bạn đã sử dụng để kết nối với máy ảo thông qua Command Prompt và bấm Enter: 7Tiếp theo bạn sẽ được hỏi chọn nơi lưu cấu hình ssh, hãy chọn lựa chọn đầu tiên như mục được highlight màu xanh ở hình dưới đây: Các mục cài đặt cơ bản cho VSC để lập trình trên máy ảo Ubuntu đến đây gần như đã xong. Tiếp theo bạn sẽ kết nối đến máy ảo và mở thư mục cần sử dụng để lập trình (như đã tạo ở phần trước). Trong khi mở VSC, sử dụng tổ hợp phím Ctrl + Shift + P (với Windows) hoặc Command + Shift + P và nhập 8để tìm kiếm lệnh 9 --> Sử dụng phím mũi tên để di chuyển, chọn địa chỉ IP của máy ảo bạn mới thêm để kết nối, Nhấn Enter để tiếp tục.Sau khi kết nối được thiết lập, VSC sẽ hiện cho bạn tùy chọn Open Folder ở máy ảo như hình bên dưới. Chọn Open Folder để tiếp tục. Sau đó chọn thư mục 0 để xem trọn thư mục của máy ảo Ubuntu.Giờ đây không gian làm việc của bạn với VSC để lập trình cho máy ảo Ubuntu trên Oracle Cloud sẽ như dưới đây. Bạn chỉ cần tạo 1 file 1 bất kỳ trong thư mục 3 để bắt đầu lập trình. Các thao tác upload, download file trao đổi giữa máy ảo và máy local được thực hiện đơn giản bằng cách kéo thả hoặc lệnh chuột phải. Bạn hãy thử khám phá nhé.Không gian lập trình Python trên máy ảo Ubuntu thông qua ứng dụng Visual Studio CodeNếu có vướng mắc gì thêm, bạn cũng có thể tham khảo bài hướng dẫn chính thức của Visual Studio Code để kết nối đến Remote Machine Tại đây. 3.3.4. Cài đặt các thư viện Python cần thiếtBạn có thể đăng nhập máy ảo thông qua Command Prompt/Terminal và sử dụng câu lệnh pip quen thuộc 3 ví dụ như khi muốn cài đặt thư viện 4, tôi sử dụng câu lệnh 5 . Ngoài ra bạn có thể kéo cửa sổ Terminal tích hợp sẵn trong VSC từ cạnh dưới của phần mềm.3.4. Lên lịch chạy Python (Schedule Python Script) với Crontab3.4.1. Cài đặt Cron package trên UbuntuCài đặt crontab trên máy ảo Ubuntu sử dụng lần lượt các câu lệnh sau trong Command Prompt/Terminal (đã kết nối máy ảo):
3.4.2. Cài đặt Vim dùng làm Text editorĐể sử dụng ứng dụng cron, bạn buộc phải có 1 ứng dụng Text editor (chỉnh sửa văn bản) trên máy ảo, Vim là lựa chọn hoàn hảo nếu bạn cần 1 text editor gọn nhẹ, mạnh mẽ trên Linux. Sử dụng câu lệnh 8 để cài đặt Vim.3.4.3. Schedule Python Script với Cron
Cấu trúc của 1 câu lệnh trong Cron khá đơn giản, mỗi 1 dấu * thể hiện cho 1 giá trị tương ứng với phút, giờ, ngày, tháng, ngày trong tuần như hình minh họa dưới đây. Dưới đây là 1 số Cron job mình đã cài đặt và lên lịch chạy. Giải thích 1 chút với 1 ví dụ để các bạn dễ hiểu nhé: 5 5Câu lệnh này nói rằng, job được lên lịch chạy vào lúc 8:57 và 15:57 hàng ngày, đường dẫn thư mục của python trên máy là 6 , đường dẫn đến file Python Script là 7, khi Python Sript được thực thi, file log sẽ được ghi vào đường dẫn thư mục là 8 và phiên bản log mới hơn sẽ ghi đè phiên bản cũ. Để tìm hiểu thêm về Cron job, các bạn có thể tham khảo bài viết Tại đâyOkay, vậy là tutorial dài thiệt dài này cuối cùng cũng có thể kết thúc, hy vọng với những hướng dẫn khá chi tiết như trên đây, bạn có thể tự mình thực hiện thiết lập cho mình môi trường thực thi Python lý tưởng trên Oracle Cloud Server và ứng dụng vào các dự án tự động hóa của mình. Nếu bài viết hữu ích, bạn hãy chia sẻ đến nhiều người nếu có thể nhé. Thịnh cũng rất vui nếu bạn để lại bình luận và cho biết bài viết giúp ích gì cho bạn. Xin chào và hẹn gặp lại trong những bài viết tiếp theo. |