Tôi đang triển khai một ứng dụng django với gunicorn phía sau nginx trên centos 5. Làm cách nào để chạy gunicorn với tư cách người dùng không phải root? Không có tài liệu nào dường như giải quyết vấn đề này. Điều này có lẽ áp dụng cho bất kỳ máy chủ ứng dụng python chạy phía sau nginx cũng ...Làm thế nào để chạy gunicorn/một máy chủ ứng dụng python như một người dùng không phải root?
tôi nên thêm rằng đây không làm việc:
sudo -u nobody gunicorn_django --workers=4
Nó không thành công với:
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
trả lời :
Lỗi của tôi. Tôi đã có tệp settings.py tùy chỉnh nên đã gọi gunicorn bằng:
sudo -u nobody gunicorn_django --workers=4 production_settings.py
Bạn có chắc đó là lệnh không? Bạn có chắc là bạn có thể thêm '-u nobody' vào đầu lệnh gunicorn_django không? Điều này dường như không hiệu quả với tôi. – Mark
@Mark Chúng đang thêm '-u nobody' vào cuối lệnh' sudo' chứ không phải lệnh bắt đầu của lệnh 'gunicorn_django'. 'sudo -u' cho phép bạn chọn một người dùng khác với root để chạy lệnh sau. – BHSPitMonkey