Hello,
I am trying to deploy my app on production servers and want to keep it running on my CentOS. I am running it using tmux, but it stops after some time.
Thanks,
Vitesh
Hello,
I am trying to deploy my app on production servers and want to keep it running on my CentOS. I am running it using tmux, but it stops after some time.
Thanks,
Vitesh
I use the forever npm module to keep my meteor app running on my CentOS VPS so instead of node start main.js
, I have forever start main.js
and it works beautifully.
Hope this helps,
Kamal
Forever and PM2 are both good options. You could use mup to deploy, but that only works on Debian-flavored Linux servers.
Try running kadira and check the performance.
I had some issues running it on digital ocean’s basic 512 MB server. Could run for a day and then suddenly run out of memory. WIthout much traffic. Running on 1g is going without a hitch so far though. These requirements may differ with CentOS. My box was Ubuntu.
Yeah. Running my app on a few 1G droplets on DigitalOcean.
Make SURE you add swap space to your instance as that can allow things to run a bit more gracefully for peak times when you might bump up close to the 1G memory limit.
– Jimmy
That’s strange, I’ve got a few fairly light-weight Meteor apps running on a single VPS, and each of them only takes up about 150MB RAM. They’ve been running for weeks. (Ubuntu 14.04 Server)
Hi, we are using Supervisord to control our meteor instances. This works pretty well and you can also define number of processes, logfiles etc. If sometimes the process will break supervisord will restart it.
Also you get a nice service shell tool like
> supervisorctl status
> supervisorctl start/stop myapp
Cheers
Tom
Bundled for production or just in debugMode?
I didn’t bundle it. Just needed it running for a demo I was going to do. Crashed on me a few hours before the demo. Bad timing! So increased the memory, and it has been running since. Remember that Ubuntu takes up a good chunk of those 512 MB. So there’s only around 350MB left for ubuntu!
Was able to do it with forever. Following are the steps I followed:
Deployment:
On our local root folder of your app type the following command
meteor build --directory
upload the tar file on server in following directory:
/home/username/projects
create a directory for the build and copy the .gz file there
tar -xzvf file.tar.gz
cd /home/username/projects/bundle/programs/server
export PORT=3000(Port)
export MONGO_URL=mongodb://urlto/db
export ROOT_URL=http://appurl.com/
export MAIL_URL=smtp://email:password@smtp.url:port/
npm install
cd /home/shahvit/projects/bundle/programs/server
npm install bcrypt
yes | cp -rf /home/username/projects/bundle/programs/server/node_modules/bcrypt /home/username/projects/bundle/programs/server/npm/npm-bcrypt/node_modules/
cd /home/username/projects
forever start bundle/main.js
Use tmux
. It is very easy, short (this - by Minh Nguyen):
tmux
# a new tmux session will be created and you'll notice a green bar at the bottom of the terminal
# start your Meteor app: (e.g. "meteor --port 3000")
# press CLTR and B, :, and "detach" to detach the session
# Type "tmux list-sessions" to see the session you just created
# You can join your session by typing "tmux attach-session -t <number>"