我想用低特權用戶運行節點,這有可能嗎?我需要使用框架Express.js我可以使用低特權運行Node.JS嗎?
10
A
回答
17
是的。有很多解決方案可以做到這一點,這取決於您的確切需求。
如果要在端口80上運行節點,則可以使用nginx(不支持WebSockets)或haproxy。但也許是最快和最骯髒的是用iptables端口重定向80到您選擇的端口:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8003
sudo iptables -t nat -L
當你快樂,然後保存配置,並確保iptables的在開機亮起
sudo service iptables save
sudo chkconfig iptables on
,如果它未能自動啓動服務的NodeJS作爲非root用戶,並重新啓動它,你可以利用upstart像這樣的腳本:
#!upstart
description "nodeapp"
author "you"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
export HOME="/home/user/"
exec sudo -u user /usr/local/bin/node /home/user/app.js 2>&1 >> /home/user/app.log
end script
如果你在亞馬遜EC2安裝,或者你,說sudo: sorry, you must have a tty to run sudo
一個錯誤,那麼你可以用這個替換您的exec命令:
#!upstart
description "nodeapp"
author "you"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
export HOME="/home/user/"
#amazon EC2 doesn’t allow sudo from script! so use su --session-command
exec su --session-command="/usr/local/bin/node /home/user/app.js 2>&1 >> /home/user/app.log" user &
end script
而且,你沒有問這個問題,但要保持它運行下去,退房monit的!這裏是a useful guide to setting up node.js with upstart and monit。
相關問題
- 1. 我可以使用useLegacyV2RuntimeActivationPolicy運行scriptcs嗎?
- 2. 可以在Windows 8.1上運行Node.js嗎?
- 3. 我們可以使用Jmeter運行特定的Redis查詢嗎?
- 4. 我可以通過node.js運行一個scala應用程序嗎?
- 5. phantomjs可以使用node.js嗎?
- 6. PHPUnit - 我可以運行較低版本的PHP的測試嗎?
- 7. 我可以運行多個node.js文件
- 8. 我可以在Windows中運行2個Node.js項目嗎?
- 9. 我可以直接從node.js運行.coffee文件嗎?
- 10. 我可以用PHP運行export DISPLAY嗎?
- 11. Facebook權限 - 我可以使用iOS和Android的一個特權嗎?
- 12. 我可以使用Zookeeper來運行我的應用程序嗎?
- 13. 在node.js中,我將如何遵循最低特權原則?
- 14. 我可以使用特定主題運行Qt應用程序嗎?
- 15. sqoop可以不使用hadoop運行嗎?
- 16. 您可以使用JRockit運行glassfish嗎?
- 17. 在低特權用戶上運行shell腳本
- 18. Node.js可以調用Chrome嗎?
- 19. 我可以阻止特定的Javascript塊運行嗎?
- 20. 我可以通過maven運行特定的testng測試組嗎?
- 21. 我可以使用Hendrix來運行Falcon應用程序嗎?
- 22. 在Vista上調用CoCreateInstance時可以降低權限級別嗎?
- 23. 你可以在IIS中使用node.js嗎?
- 24. 我可以運行多個javascript onload嗎?
- 25. 我可以在VPS上運行Matlab嗎?
- 26. 我可以在JavaScript中運行JavaScript嗎?
- 27. 我可以在View上運行SqlQuery嗎?
- 28. Firebug可以運行我的網站嗎?
- 29. 我可以在Java中運行PHP嗎?
- 30. 我可以從.NET運行DBCC CHECKDB嗎?
定義「低特權用戶」。 –
我不想用ROOT權限來監聽node.js。 – Dail
是什麼讓你覺得你必須?我從不需要這樣做。 –