1
我想獲得一個node.js網站生活在端口80(我正在使用數字海洋)。我在服務文件使用sudo與ExecStart(systemd)
...
ExecStart=/usr/bin/nodejs /var/www/bin/app.js
...
在本地主機上,如果我使用sudo來啓動站點這部作品在80端口細做這個使用systemd用,但也不是沒有sudo的。顯然你需要以1024以下的端口爲根運行。
如何在ExecStart中允許sudo?或者我在這裏完全錯誤的方式,如果是這樣,我如何獲得端口80上的快速應用程序?
乾杯,邁克
我確實已經指定了一個組(非根),但是我想保留它,因爲這是不錯的做法,不要運行網站爲根。我如何解決我的問題? – Mike
你需要有一個.socket單元作爲特權用戶監聽它的端口。然後systemd將你的服務傳給套接字。它需要對nodejs進行代碼修改,以使systemd套接字激活。 – Umut
我試過 require('systemd'); var port = process.env.LISTEN_PID> 0? 'systemd':3050; app.set('port',port); 但到目前爲止還沒有運氣。 – Mike