run rails app with an ubuntu server with global ip - ruby-on-rails

Currently, we are running our rails app, on AWS but we tried to move it to Heroku, which didn't work at all, now We are trying to run the app on Virtual Machine on hetzner. I can run the app on local server easily, my question is that, How can we run our rails app with a specific IP and then we can access that app anywhere in the world from that ip? is that possible to do so? We are using PUMA for server.

Yes, you can access to to your site with specific IP.
In description of hetzner Virtual Server says that server have 1 specific IP. So than you deployed and run you application y can access to app with 1.1.1.1:80 or another port.
If i understand you. Also what happened with heroku?

Related

How do you host a Ruby on Rails application on a home server?

As the title suggests, how can I host a Ruby on Rails application on a home server. I want to be able to develop on linux and then deploy on a server running linux. I know there's PaaS out there that help with deployment and host but for a specific job I need to be able to do it on a computer that will act as a server.
Your phrasing 'run a RoR project on a local computer for production' is a little strange.
If you just want to do development on your PC and have somewhere that will host your production app for free and you can push to from your PC (i.e. the way most development works) you want Heroku.
If you literally want to use your computer as the server for a production app you can use something like Ngrok, which creates a tunnel from the web to your localhost. However you would definitely not want to run most applications like this because if you ever shut down or even closed your computer the site would stop working. Additionally I would guess there's security concerns with using your computer as a server for a publicly accessible URL for any extended period, though I don't know that for sure.

Hosting Rails on local network

I have been deploying my rails app to digitalocean on ubuntu OS and it's working fine. However, I would like to deploy my rails app on a local ubuntu network.
I have tried to setup rails on ubuntu and it's working fine and I am able to open network access with port 3000 by the same network to access via
$ rails server -b 0.0.0.0
This a bit slow from another local network computer to access. What is the better way where I can deploy rails app to my local server and only for same local network usage.
I have been doing the same thing on a Raspberry pi with several projects.
You can actually treat your local server like an external one. You can deploy on the local server using capistrano.
Just make sure that your app on your local server will be deployed as production, not development. I would also recommend NGINX and unicorn for performance and zero downtime deployment.

How to access Rails WEBrick running on a VPS

I'm fairly new to Rails and VPS. I created a SSH tunnel and managed to install Ruby/Rails, then I created a simple scaffolding app to play around. One question now coming up is, how I can access the running WEBrick server via my browser? I tried the IP of my VPS and added XXX.XXX.XXX.XX:3000 as the port. But for some reason it does not work. Any idea? Thanks
Try port 80 as 3000 can be quite sensitive to firewalls and certain ISP's

Is one rails server per application?

I have two questions about rails server:
Do I have to start the server from within the application folder?
Is the server I started only for that application?
If they are true, this does not quite make sense to me, since why do I need to start multiple servers?
Or is there some kind of master configuration, so that one server can route to different applications? Is Capistrano for this purpose?
I'm going to assume you're talking about the rails server command, for running a local rails server to test your application, and that you're not talking about setting up a rails application on a remote server. Please mention if that is not the case.
Yes, you must execute rails server from within the root folder of your rails application.
Yes, the server you started is only for that application. It's a self-contained thing.
You should not need to start multiple servers. Even if you have multiple applications, you probably don't need to have more than one running at a time. So, you can shut down the rails server in one application (Ctrl-C) and then cd to your new application, and start a new rails server there with rails server.
If you do need to run two local rails applications at once, you can do so by running them on different ports. So, the first one, you can just execute rails server and it will make your site available at localhost:3000 (because port 3000 is the default port). The next one, you can specify a port other than 3000 - eg. rails server -p 3001 to get a rails app at localhost:3001.
Capistrano is for deploying your applications to a remote server, not for running them locally on your own computer. So, it is not relevant here. What you may be interested in is http://pow.cx/
Again, I've assumed you're talking about running your rails app locally on your own computer. If you're referring to deploying it to the internet on a server, then you can ignore this answer.

Running Ruby on Rails app on server

I am using Aptana Studio 3 for development of ROR apps. I used run server command and it showed you can access your app on {http//0.0.0.0:3000/}, but when I try to access this URL, it tells me to check your Internet connection. I tried several other ports also but it is not working. I have created/modified the files necessary and migrated the database successfully too. Appreciate any help in running the app over the browser. I am currently using WeBrick Server.
so, in your title you say "on server". what does that mean? when you are running it on a different machine than your own, you need to use the address of that machine or it's domain name. keep in mind that firewall rules might prevent any connection to that server.
when you are ON the machine, via ssh for example, you can try calling the then "local" rails instance with curl http://localhost:3000/ to verify that it is running.

Resources