how to run different node app on server different domains
Running Different Node Apps on Different Domains
If you want to run different Node apps on different domains, you can accomplish this in several ways. One way is by using virtual hosting on your server. Virtual hosting allows you to host multiple domains on a single server and run different Node apps on each domain.
Step 1: Set up Virtual Hosts
To set up virtual hosts, you need to create a new configuration file for each domain you want to host. You can do this by creating a new file in the /etc/apache2/sites-available/
directory:
sudo nano /etc/apache2/sites-available/mydomain.com.conf
Replace mydomain.com
with the actual domain name you want to use. In this file, you need to specify the following:
- The domain name
- The document root (where your Node app is located)
- The Node app to run
Here's an example configuration file:
<VirtualHost *:80>
ServerName mydomain.com
DocumentRoot /var/www/mydomain.com
<Directory /var/www/mydomain.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>
In this example, we're running a Node app on port 3000. The ProxyPass
and ProxyPassReverse
directives tell Apache to forward requests to this port when a user visits the domain.
Once you've created this file, you need to enable the virtual host:
sudo a2ensite mydomain.com.conf
This command creates a symbolic link to the /etc/apache2/sites-enabled/
directory, which makes the virtual host active.
Step 2: Start Your Node Apps
Next, you need to start your Node apps. You can do this by running the following command in your app directory:
node app.js
This will start your Node app on the default port (usually 3000).
Step 3: Restart Apache
Finally, you need to restart Apache to apply the changes:
sudo service apache2 restart
Now you should be able to visit your domains and see your Node apps running!