I have a node.js script which need to start at boot and run under the www-data user. During development I always started the script with:
su www-dat
I got my script to work by editing /etc/rc.local then issuing the following 3 commands.
/etc/rc.local
sudo mv /filename /etc/init.d/ sudo chmod +x /etc/init.d/filename sudo update-rc.d filename defaults
Now the script works at boot.