2014-03-28 23 views
0

我爲我的web服務器使用node.js,我想永遠(或類似的東西)來運行服務器。Git掛鉤可能需要更高的權限

我也使用git來管理網站。我在服務器上有一個裸存儲庫,可以從本地計算機上推送/取出。我希望知識庫能夠在推進時做三件事情。

  1. CD到我的工作目錄(在服務器上)
  2. 已從裸回購
  3. 重新啓動運行Web服務器的工作目錄上拉。

以下腳本看起來像是我應該在我的裸回購庫中用作post-receive掛鉤。

cd ~/site 
git pull 
sudo forever stopall 
sudo forever start main.js 

不過,我不認爲這是明智的讓git鉤使用sudo這樣。腳本需要提升到80端口運行。

我應該如何做到這一點?我的git post-receive應該是什麼樣子?

謝謝!

回答

0

那麼,對於我的特殊情況,事實證明,我不應該出於安全原因以超級用戶身份運行節點。我希望它能夠在端口80上運行,但不需要提升爲在端口8000上運行。

因此,我將端口80轉發到端口8000,現在我正在端口8000上運行節點。仍然和以前一樣。

我特別用於轉發端口80到8000的命令是

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000