Trong bài trước, chúng ta đã làm quen với việc tạo một Reverse Proxy với NGINX Open Source trên Windows. Để khởi phần mềm có thể chạy được chúng ta cần phải logon vào Windows và chạy file nginx.exe của gói phần mềm lên, nếu chúng ta logout ra khỏi account đang run phần mềm thì phần mềm sẽ làm cho Nginx ngừng chạy. Để thực hiện việc chạy ứng dụng khi không cần logon trực tiếp trên Windows, thông thường người ta sẽ phát triển phần mềm thành một dịch vụ nhưng hiện tại thì Nginx chưa hỗ trợ. Để khắc phục, chúng ta sẽ sử dụng Task Scheduler để chạy Nginx startup cùng Windows.
Chúng ta quay lại mô hình của bài trước:
Để thực hiện Task Scheduler để chạy Nginx startup cùng Windows, trến máy Reverse Proxy bạn thực hiện như sau:
Bước 1: Tạo một tài khoản local và cấp cho tài khoản có quyền local adminstrator có tên là trên Reverse Proxy:
Tạo tài khoản có tên Nginx_service
Bước 2: Tạo file Nginx_startup.bat chưa trong thư mục phần mềm Nginx với nội dung:
@ECHO OFF REM Start Nginx tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL IF NOT "%ERRORLEVEL%"=="0" ( REM Nginx is NOT running, so start it c: cd \nginx-1.21.3 start nginx.exe ECHO Nginx started. ) else ( ECHO Nginx is already running. )
Bước 3: Tạo một task mới trên Task Schedule:
Truy cập vào Task Scheduler:
Trong Task Scheduler, bạn tạo một task mới bằng cách click chọn vào Create Basic Task…
Tiếp theo, bạn đặt tên cho task mới là Nginx_Startup
Tiếp theo, bạn chọn task này sẽ chạy khi nào. Ở đây, chúng ta muốn nó chạy cùng với Windows khi khởi động, ta chọn When the computer starts.
Tiếp theo, bạn chọn mục Start a program
Tiếp theo, chọn vào file Nginx_startup.bat mà đã chuẩn bị như phần ở trên Bước 2.
Tiếp theo, bạn chọn vào Finish để hoàn thành viêc tạo task mới.
Bước 4: Gán tài khoản Nginx_Service vào task vừa tạo:
Click phải vào task vừa tạo, chọn Properties
Tiếp theo, ở tab General:
- (14) bạn chọn vào Run whether user is logged on or not
- (15) chọn vào ô Run with highest privileges
- (16) bạn chọn vào Change User or Group… và tiến hành thêm user Nginx_service đã tạo ở Bước 1
Tiếp theo, bạn nhập password của tài khoản Nginx_service, và hoàn thành công việc điều chỉnh account
Sau khi gán account thành công, bạn sẽ thấy task sẽ chuyển qua chạy bằng tài khoản Nginx_service
Bước 5: Khởi động lại Windows và kiểm tra dịch vụ:
Sau khi khởi động lại Windows xong, bạn sẽ vào Task Manager của Windows để xem ứng dụng đã được running với tài khoản Nginx_service hay chưa. Nếu như hình bên dưới, thì bạn đã làm đúng.
- Lưu ý: task sẽ tự động chạy chứ không phải bạn chạy ứng dụng bằng tay như ở bài viết trước.
Bạn mở trình duyệt và truy cập vào IP của Reverse Proxy http://192.168.100.252, nội dung trả ra như hình.
Như vậy, bằng cách sử dụng Task Scheduler chúng ta đã tạo một task cho phép Nginx Open Source khởi động cùng windows. Bạn cũng có thể áp dụng cho phương pháp này cho nhiều ứng dụng khác có tính năng và cách hoạt đông tương tự như Nginx.