您首先需要以正確的方式安裝Node。我寫了一個關於它的教程:How to get Node 6.7.0 on Linux(當然,您可以使用更新的版本,只需在命令中更改版本)。
基本上它是這樣的 - 更改版本給你喜歡的人:
# change dir to your home:
cd ~
# download the source:
curl -O https://nodejs.org/dist/v6.1.0/node-v6.1.0.tar.gz
# extract the archive:
tar xzvf node-v6.1.0.tar.gz
# go into the extracted dir:
cd node-v6.1.0
# configure for installation:
./configure --prefix=/opt/node-v6.1.0
# build and test:
make && make test
# install:
sudo make install
# make a symlink to that version:
sudo ln -svf /opt/node-v6.1.0 /opt/node
我建議從源代碼構建節點,並始終運行make test
但你也可以安裝一個二進制包這是更快 - 只是讓如果你這麼做的話,你一定要理解路徑和hashbang行的問題 - 關於這個和更多安裝選項的更多信息在my tutorial中描述。
然後,您需要確保每次重新啓動服務器時都啓動應用程序。如果可以,我建議使用Upstart。
使用暴發戶,保存這樣的事情在/etc/init/YOURAPP.conf
:
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [06]
# If the process quits unexpectadly trigger a respawn
respawn
# Start the process
exec start-stop-daemon --start --chuid node --make-pidfile --pidfile /www/YOURAPP/run/node-upstart.pid --exec /opt/node/bin/node -- /www/YOURAPP/app/app.js >> /www/YOURAPP/log/node-upstart.log 2>&1
只要改變:
YOURAPP
到自己的應用程序
/opt/node/bin/node
到您的路徑的名稱node
/www/YOURAPP/app/app.js
到您的Node應用程序的路徑
/www/YOURAPP/run
到您想要的PID文件
/www/YOURAPP/log
,如果你希望它爲不同的用戶不是運行在您希望您的日誌
--chuid node
到--chuid OTHERUSER
node
(請務必添加用戶名稱從--chuid
以上)
隨着您的/etc/init/YOURAPP.conf
到位,您可以安全地重新啓動服務器,並讓您的應用程序仍在運行,您可以運行:
start YOURAPP
restart YOURAPP
stop YOURAPP
啓動,重新啓動並停止您的應用程序 - 這也會在系統啓動或關閉期間自動發生。
欲瞭解更多信息請參閱這些問題的答案約:
您還可以使用systemd爲,但作爲there are some differences系統much more complicated並經常導致some problems。
來源
2016-12-24 12:27:35
rsp
嘗試在生產環境中使用'pm2'管理器運行'node'應用程序。 –
能否詳細解釋一下@Mukesh Sharma – IaSdwIB
這可以幫到你。 http://stackoverflow.com/documentation/node.js/2975/deploying-node-js-applications-in-production/21325/deployment-using-pm2#t=20161224111450433553 –