Set Application Domain Name with Shiny Server

[This article was first published on R – R-statistics blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Guest post by AVNER KANTOR

I used the wonderful tutorial of Dean Attall to set my machine in Google cloud. After I finished to configure it successfully I wanted to redirect my domain to the Shiny application URL. This is a short description how you can do it.

The first step is changing the domain server to your server supplier. You can find here a guide for several suppliers how to do it. I used Godaddy and Google Cloud DNS:

  • ns-cloud-b1.googledomains.com
  • ns-cloud-b2.googledomains.com
  • ns-cloud-b3.googledomains.com
  • ns-cloud-b4.googledomains.com

The tricky part is the setting up Nginx virtual hosts. The DigitalOcean tutorial helped me again.

We will create virtual hosts in etc/nginx/sites-available. In this directory you can find the default file you created when you set the environment (here is my file). Now you should add config file named after you domain name. Let’s assume it is example.com. Here is the config file you should have:

$ sudo nano /etc/nginx/sites-available/example.com
server {
  listen 80;
  listen [::]:80;
  root /var/www/html;

  server_name example.com www.example.com;

  location / {
    proxy_pass http://127.0.0.1:3838/example/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

It’s important to check that default_server option is only enabled in a single active file – in our case: deafult. You can do it by grep -R default_server /etc/nginx/sites-enabled/.

In order to enable the server block we will create symbolic links from these files to the sites-enabled directory, which Nginx reads from during startup.

$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

If no problems were found, restart Nginx to enable your changes:

sudo systemctl restart nginx

Now that you are all set up, you should test that your server blocks are functioning correctly. You can do that by visiting the domains in your web browser: http://example.com.

To leave a comment for the author, please follow the link and comment on their blog: R – R-statistics blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)