Trong bài viết này, bạn sẽ học cách khởi tạo và quản lý một máy chủ PHP đơn giản mà không cần sử dụng Apache hoặc Nginx. Chúng ta sẽ đi từ những khái niệm cơ bản, sử dụng lệnh php -S
, cho đến các phương pháp nâng cao như nohup
, screen
, tmux
, và đặc biệt là quản lý máy chủ với Supervisor để máy chủ PHP có thể hoạt động liên tục, kể cả khi bạn tắt terminal.
Một trong những tính năng thú vị của PHP là bạn có thể sử dụng chính nó để tạo một máy chủ HTTP đơn giản mà không cần phải cấu hình thêm Apache hoặc Nginx. Đây là cách lý tưởng để thử nghiệm các ứng dụng PHP cục bộ trên môi trường phát triển.
Chúng ta sẽ sử dụng lệnh sau để khởi tạo máy chủ PHP:
-S localhost:8000
Lệnh trên sẽ khởi chạy một máy chủ HTTP trên địa chỉ IP của VPS và cổng 8000. Bạn có thể truy cập vào ứng dụng từ bất kỳ máy tính nào với địa chỉ http://123.123.123.123:8000
.
Tuy nhiên, vấn đề là khi bạn tắt terminal, quá trình này sẽ bị dừng. Để giải quyết vấn đề này, chúng ta sẽ sử dụng một số công cụ để quản lý quá trình chạy máy chủ PHP.
Khi bạn khởi chạy máy chủ PHP qua lệnh php -S
, nó sẽ hoạt động cho đến khi bạn tắt terminal hoặc thoát khỏi phiên SSH. Điều này là do tiến trình máy chủ PHP phụ thuộc vào terminal mà nó được khởi chạy.
Để giữ máy chủ PHP hoạt động ngay cả khi bạn tắt terminal, bạn có thể sử dụng một trong các giải pháp sau đây:
nohup
Lệnh nohup
(no hangup) cho phép bạn chạy một lệnh trong nền và giữ cho nó hoạt động kể cả khi bạn thoát khỏi terminal.
Ví dụ:
nohup
screen
:screen
screen
giúp bạn quản lý phiên máy chủ PHP một cách linh hoạt và dễ dàng tái kết nối lại sau khi đã tắt terminal.
tmux
tmux
là một trình quản lý terminal khác, tương tự như screen
, cho phép bạn quản lý các phiên terminal và giữ cho tiến trình hoạt động ngay cả khi terminal bị tắt.
tmux
mới:tmux
tmux
mà không làm gián đoạn tiến trình, nhấn Ctrl + B
sau đó nhấn D
.tmux
bằng lệnh:/etc/supervisor/conf.d/php-server.conf
Thêm nội dung sau vào file:
command
Bạn có thể khởi động hoặc kiểm tra trạng thái của máy chủ PHP qua lệnh:
sudo supervisorctl start php-server sudo supervisorctl status php-server
Supervisor là một giải pháp mạnh mẽ và linh hoạt để quản lý các tiến trình trên hệ thống, đảm bảo máy chủ PHP luôn hoạt động mà không cần phải lo lắng về việc khởi động lại thủ công khi gặp sự cố hoặc tắt VPS.
Tùy vào nhu cầu của bạn, việc lựa chọn giữa các công cụ như nohup
, screen
, tmux
, hoặc Supervisor sẽ giúp máy chủ PHP của bạn hoạt động liên tục và ổn định.