'Rails server start/stop

To run the Rails server, I use $rails server. It says 'To stop, click Ctrl+c'. I use Putty.

The questions are:

  1. Should I keep the terminal open always? Because if the server stops, my web page wouldn't work. With Apache I just used commands apachectl start/stop.

  2. What if I want to use a command? Should I stop the server, use command, and run again? Because in the same terminal I can't do enything if the server run.



Solution 1:[1]

you can run it in background by writing

daemonize true

in your puma.rb file

To stop you need to find your running puma process

 ps aux | grep puma

then you need to kill the main process

 sudo kill -9 your process id

to start you need to type

 puma -C config/puma.rb 

Solution 2:[2]

You can start a daemonized server by adding -d to your command. For instance:

rails server -d

To stop the server, you can kill it based on its process id:

kill $(cat tmp/pids/server.pid)

Solution 3:[3]

Should I keep the terminal open always? Because if the server stops, my web page wouldn't work. With Apache I just used commands apachectl start/stop.

Yes, you should keep it open because if you Ctrl C it will stop the server. Another option is to run it in the background but I'm not sure how to do that in Putty.

What if I want to use a command? Should I stop the server, use command, and run again? Because in the same terminal I can't do enything if the server run.

Can you open another terminal window? If you have two terminal windows you can use one for running the server and another for other tasks.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Flavio Wuensche
Solution 3 kcdragon