Làm thế nào tôi có thể làm cho máy chủ phát triển từ django chạy vĩnh viễn? Vì vậy, nó không dừng lại khi tôi bỏ vỏ.Máy chủ Django vĩnh viễn
Cảm ơn
Làm thế nào tôi có thể làm cho máy chủ phát triển từ django chạy vĩnh viễn? Vì vậy, nó không dừng lại khi tôi bỏ vỏ.Máy chủ Django vĩnh viễn
Cảm ơn
Nếu bạn sử dụng Linux/Unix, hãy sử dụng lệnh "nohup".
nohup manage.py runserver &
Sau đó, để có được nó trở lại, sử dụng lệnh fg:
fg
Nhờ: Xiong Chiamiov
Sau đó, để lấy lại, hãy sử dụng lệnh fg. –
Điều này sẽ không cho phép bạn thoát khỏi trình bao như một công việc sẽ chạy. Đúng? –
@Adam N. Bạn sẽ có thể thoát khỏi trình bao, nohup là dành cho "không bị treo", nó sẽ tiếp tục chạy công việc sau khi bạn rời khỏi trình bao. – MikeN
một cách dễ dàng để làm điều này là để chạy:
[[email protected]]$screen
[[email protected]]$python manage.py runserver 0.0.0.0:8000
Bây giờ, hãy bấm Ctrl+A
và sau đó bấm d
để thoát khỏi màn hình này.
Điều này tạo ra máy chủ trong một màn hình và sau đó xóa nó. Bằng cách này, bạn có thể chỉ cần quay lại và nhập:
[[email protected]]$screen -r
và bạn có thể kiểm soát máy chủ một lần nữa và xem những gì đang diễn ra.
Có thể đăng xuất và trở lại màn hình không? –
@AdamNelson Có, nếu bạn không dứt khoát chấm dứt phiên màn hình, nó sẽ tiếp tục chạy ngay cả khi đăng xuất. – 0sh
Một vấn đề với giải pháp này là chạy máy chủ khởi chạy giao diện điều khiển máy chủ và không thể cung cấp lệnh cho thiết bị đầu cuối, do đó không thể chạy phương thức -d màn hình- – Freestyle076
tạo ra một tập tin với điều này, ví dụ /tmp/screendjango:
screen python manage.py runserver
và sau đó bạn đặt:
screen -dmS django -c /tmp/screendjango
cho đính kèm phiên bạn đặt
screen -d -r django.
Tôi nghĩ đó là cách phức tạp nhất để sử dụng màn hình, bao giờ hết. –
Trên Windows, chạy
pythonw.exe manage.py runserver
Tôi sắp sửa thực hiện việc này. Kịch bản là tôi đang tạo mẫu nhanh cho một khách hàng và họ cần phải xem những thứ trông như thế nào. Sẽ không bao giờ có hơn 2-3 người vào lúc này, nhưng tôi không muốn thiết lập Apache hoặc duy trì trạng thái đăng nhập.
sudo ./manage.py runserver 192.168.1.94:80 [run this on port 80 so a normal business user can see it]
ctrl+z [to suspend the job (same thing as appending & to the above command but then I don't need to deal with entering the sudo password on the command line)]
bg %1 [puts the job in the background]
jobs [just to see what's going on]
exit [exit the session]
Giống như Travis nói-- màn hình sử dụng. Nếu bạn chưa cài đặt, hãy tải xuống:
sudo apt-get install screen
screen
Nhấn enter. Bây giờ nó giống như bạn đang ở trong một cửa sổ thiết bị đầu cuối khác nhau.
Bạn bắt đầu với máy chủ:
python manage.py runserver 0.0.0.0:8000
Bây giờ bạn đang chạy máy chủ, và bạn muốn quay trở lại màn hình đầu tiên của bạn trong khi cho phép các ứng dụng django tiếp tục chạy. Màn hình có một tính năng đẹp được tích hợp sẵn cho điều đó.Để quay trở lại loại ga chính của bạn:
ctrl+a d
Từ đó, bạn có thể nhận được trở lại màn hình django bằng cách gõ:
screen -r
Nếu bạn có nhiều màn hình mở, bạn có thể đạt được điều đúng bởi đó là 4-5 chữ số ID:
screen -r 1333
Và các trang người đàn ông là khá tốt:
man screen
Tôi rất quan tâm đến giải pháp của bạn. Vì tôi đang sử dụng CentOS, tôi đã phải sử dụng 'pipl install screen'. Cài đặt đã thành công nhưng sau đó tôi gõ 'screen' và get -bash: screen: không tìm thấy lệnh. Bất kỳ ý tưởng? Cảm ơn – Dmitry
@dmitrymar mặc dù bạn có thể đã cài đặt thành công màn hình, có vẻ như không nằm trong PATH của bạn. Bạn sẽ muốn tìm ra nơi pipl cài đặt nó, và chắc chắn rằng thư mục mà nó đã được cài đặt vào trong PATH. Kiểm tra 'echo $ PATH' để xem đường dẫn hiện tại là gì. Và 'màn hình' nào để xác minh rằng vỏ của bạn nhìn thấy nó ở đâu đó trong đường dẫn. – kelorek
on Ubuntu run:>./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &
>exit
Tôi hy vọng bạn không yêu cầu điều này để sử dụng trên máy chủ sản xuất. Nó sẽ dẫn bạn đến tà ác nếu bạn. – wlashell
Bạn được cho là chỉ có vỏ mở khi bạn đang phát triển. Điều này là không có nghĩa là cho sản xuất! – Soviut
Và đối với người thử nghiệm beta? – panchicore