I'm a little confused on how node.js works on web hosting servers.
Now i understand how it works when i download node.js on my computer, i run files and stuff and the node.js files are on my computer.
What i dont understand is how i run node.js on my web hosting server.
If node.js is a downloadable file, how do i get it to run on my server...
Do i just find the file on my computer that says node.js(or whatever its called) and upload that to my server?
Any clarification on how to run node.js on my server will help.
Thanks!
A server is just another computer somewhere running OS like Linux, Windows and others but at large scale. Now Node.js is automatically configured if your web hosting server is a shared server or free plan server like Heroku, an awesome web hosting company with great hosting plan.
You only get to install Node.js on a web hosting server if its a dedicated server like an Ubuntu Machine on Amazon or Digital Ocean. I don't think you should bother yourself much. If you want to move your Node.js app from localhost to a web server I encourage you to read heroku documentation or this scotch.io link. It is extremely simple.
Related
I just made a simple chat-service with Node JS and I want to publish It " Online " ; at the time I used Ngrok and Localtunnel , but they are very limited , therefore I saw Apache web Server but I have not found tutorial on how to use it.
Thanks and hope you can help me.
Ngrok and Localtunnel are services which let you open a connection from inside your network to an external server which then forwards traffic back down the tunnel so clients on the Internet can make requests to your service running inside your LAN.
Apache is HTTP server software. It is nothing like Ngrok and Localtunnel.
While you can set up a reverse proxy using it, for that to use useful in this use case you would have to install it in your router … and most routers don't let you install software on them.
You could possibly run it on a computer inside your LAN and then configure port forwarding on the router … but if you are going to do that then you might as well forget about Apache HTTPD and just forward traffic directly to the service you've written using Node.js.
There are security risks and bandwidth considerations to take into account when running services from your LAN. It's almost always a better idea to just invest in a proper hosting service like Amazon AWS, DigitalOcean Droplets, or Heroku.
By "online" I suppose you mean to host it globally. For that my friend you will be in need of a server (preferably a cloude server) and a static IP address. Both of these are provided by a lot of providers like aws, digitalocean etc as a platform as a service, which we can leverage. So pls do the following:
Register for a cloud service (aws, digitalocean, gcp etc.).
Create a server instance of an operating system of your choice (my pref would be a linux instance).
Attach a public static ip to the server.
Log into the server. (SSH is the most secure way and most providers provide this to log into your server).
Install dependencies (in your case NodeJS etc).
Make sure that the port in which the app is hosted is open publicly. Most providers provide a dashboard in which you can configure port settings.
Use Apache or Nginx for configuring a reverse proxy (this is just for keeping your environment secure)
It's my first time here so please bear with me :)
Basically i developped a full stack MERN web application on my windows 10 machine (node js, express js and Mongodb in the backend + database and react js for the frontend), to run each one of them for now i use vscode (nodemon server for the backend and npm start for the front) all are running on my localhost on different ports.
what i need to do is to move that MERN app to an ubuntu machine and make it accessible via LAN network of that ubuntu continuously.
i guess i need to use git to move the app from windows to ubuntu? (correct me if i'm wrong) but how to make it run correctly there? and should i install a specific server to run it all on the LAN?
Thank you for the help in advance !
what does shipping to a server means?
Does it means you need to upload on the server the necessary files?
I have the dist folder, package.json, server.js. Do I need to upload it all in my heroku server so that my app will run?
thank you very much. My apologies for being so noob.
Shipping to a server means that you deploy your application on a server where your application will run. This means that all your files which you made which your server will serve are transported to this server.
This server to which you ship your application to is usually a paid service where you pay a company a fee for certain facilities. You can also deploy your own server but this can be a lot of work if you are not familiar with servers.
I developed small Restful Web Service in VS2012 which should manipulate with database through entity framework.
Client side is HTML/CSS/JavaScript web site which shows data from database.
Is there any way to communicate by Ajax (to overcome cross domain issue) from my site to Restful Web Service without installing IIS, because I have really bad and slow computer and I need this only for quick test.
Can I host my web site somehow on service which Visual Studio uses to publish Services run by Visual Studio, or there is some other way how to test it quickly ?
If you're willing to use iisexpress Do this
Publish your website to any folder in your PC.
Then open a cmd window and run the following commands
cd "C:\Program Files\IIS Express"
on 64-bit OS,
cd "C:\Program Files (x86)\IIS Express"
Now the path would change to IIS Express>
Then run the following command
iisexpress /path:your\website\path\ /port:8030
This will start your website over the port 8030
IIS express will run as long as you don't close this cmd window. You can see iisexpress icon in the notification area also.
Easier way is to install IIS in your PC and host it with much better options.
at first i installed apache, and i built up some sites.
Then later I tried to install rails according to this tutorial, since it's made by my hosting company.
I originally wanted to install rails in a sub-directory, so that most of the pages would be served up by apache and I could just build up some special apps with rails.
At this point I've corrupted the apache pages which heretofore were working just fine.
Should I just uninstall everything and start over?
But, what is the issue, is this how rails is supposed to work? Is it hard to make it compatible with apache? Can a server run only rails, would that be easier to manage?
I also had some javascript templates running off that apache server in the beginning.
Are there some particular log files I can investigate to discern what's at fault? Where are they located?
I can't help by providing a decent tutorial on rails + apache but I can help on nginx + rails + zero downtime.
Typically the webserver apache, nginx serves as a proxy webserver. They send the request from the user through a unix domain socket to the rails application running as a separate process.
I've written a detailed tutorial on setting up a deployment server from scratch.
Setup a vps
Securing vps + nginx
Deploying the rails application
Hope it helps !