I'm developping a nodejs web application and I want to know how to deploy the app on enterprise level not on the cloud (Heroku and similar).
Please keep the explanation as simple as possible as I'm not an expert. I think that the answer to this problem should include something about having a local enterprise network but I don't know the details.
The end result should be that any user inside the enterprise could for example open the browser at some specific link and use the application.
You literally just need a computer connected to the enterprise network and your application running there.
Related
Questions:
I'm looking for a way to deploy my React and Node application on the internet?
Context:
I have a dedicated server at OVH under Windows Server 2019.
I looked at several tutorials to try to deploy my application with IIS (Microsoft web server) but I read that it was not the best solution to host his website.
Here is the link of the tuto :
https://muffinman.io/blog/react-router-subfolder-on-server/
I have two websites for my company (one on the admin side and one on the client side), so I would like to make both accessible via the internet (make them public), I also have a nodejs server (express and sequelize).
Having knowledge in Network I have already set up the DNS server which will allow me to have the domain name for each site, I have also set up the firewall (open and closed port).
I have heard about nginx under windows but it can only manage one website and is not suitable for my needs.
At the moment I am stuck for a dedicated server, because the fastest solution would have been to take a web hosting under a known platform
Have you ever heard of another solution for a dedicated windows server?
Have you already configured a web server react under IIS?
I'm open to any help that could help me with this task!
Information :
My application is built like this:
architecture
Thanks in advance.
I have a problem, because I created NODEJS API and I have to deploy it on Microsoft IIS. I have never done this before. Is it possible to do? If yes, I will be very grateful if someone describes how to do this.
If you want to host node.js application, you should firstly install the node.exe and the a build of iisnode.
https://nodejs.org/en/#download
https://github.com/tjanczuk/iisnode
After installed the IIS nodes, you could set up samples, from the administrative command prompt call %programfiles%\iisnode\setupsamples.bat.
More details, you could refer to below article:
https://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx
I don't think if that will help you but usually NodeJS don't need a server to be live unlike php or .NET so you can create a server on NodeJS itself and launched very easy .
also IIS used for statics content and .NET websites about 90% .
I want to build a web app with React for frontend and Node.js for backend. The problem comes when choosing the type of hosting I need. I know that for static files(eg. html with css and js) it's enough to have a standard web hosting, but if I want to have a server running Node.js app, do I need a dedicated server or VPS? Why?
I believe you can have either. Are you trying to do this professionally for a client or for a side project?
Personally, I use services like Heroku or Netlify (others here: https://blog.bitsrc.io/8-react-application-deployment-and-hosting-options-for-2019-ab4d668309fd). They run builds of node for your app and are free initially.
You can host your app and publish it for no cost at the beginning. However, on something like Heroku, if you don't pay, it takes 5 seconds for your website to wake up. But, this is great for prototyping. It gives you a URL so others can see it. They are basically version control systems that publish what you currently have. So you can just live push your project at any time and it updates your site.
If your prototype is working and you want it to be a fully dedicated app, then you can either pay or find services that host it. I would recommend prototyping first regardless and wouldn't pay until you need to.
I have NodeJS server for my iPhone and Android apps and I want to build an admin panel as desktop application using Electron.
From my research, I found out that Electron depends on its own version of node and it can't run on other server instance.
My questions are:
1) is it advisable to implement the admin panel using Electron knowing that it depends on its own version of NodeJS?
2) is there away to integrate my current NodeJS server for mobile apps to my Electron? because using two different servers will be costly when it comes to hosting them
3) what are other alternatives that enable me to implement cross-platform desktop application using my current mobile apps server?
NOTE: The admin panel server functionality are completely different from mobile apps.
1) is it advisable to implement the admin panel using Electron knowing that it depends on its own version of NodeJS?
Yes, that is perfectly fine. You can access your current node server directly from your electron app, or create a new node server that electron will access.
2) is there away to integrate my current NodeJS server for mobile apps to my Electron? because using two different servers will be costly when it comes to hosting them
You can run multiple nodejs servers on one machine (just use different ports when starting the servers). This is one easy way to get around this issue, or you can just have a group of /admin endpoints that handle all admin related functionality. Think of electron has a front-end that can be distributed across various platforms and access any back-end you choose.
3) what are other alternatives that enable me to implement cross-platform desktop application using my current mobile apps server?
Electron / nwjs (node-webkit) are the only two that come to mind. Although there are probably others.
More Electron/nwjs details:
Just think of these as browsers that allow you to write nodejs. Therefore, within the browser you can access databases you ship with your app, or anything on the users file system. You can also make requests from your app to already created nodejs servers. Also, they allow you to easily package up your app for cross-platform distribution.
I am kind of new to Node.js but I built an application and am pretty happy with it. I was wondering how would I go about uploading my Node.js application to an FTP server? Is it even possible to do this?
A Node.JS application is just a collection of files. You can upload them to another computer using FTP just like any other files.
That probably isn't what you are trying to ask though.
If you want to host a website built as a Node.JS application then you need to be using hosting that either:
Explicitly supports Node.JS (Google finds this list) or
Gives you full admin access (such as a virtual or dedicated server)
Such hosting will generally give you (at a minimum) shell access (via SSH) which you can use to run the Node.JS application.