{"id":2167,"date":"2023-05-04T05:36:36","date_gmt":"2023-05-04T05:36:36","guid":{"rendered":"https:\/\/www.workfall.com\/learning\/blog\/?p=2167"},"modified":"2025-08-14T11:32:28","modified_gmt":"2025-08-14T11:32:28","slug":"deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx","status":"publish","type":"post","link":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/","title":{"rendered":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &#038; Nginx"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-1024x576.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2172\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-1024x576.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-300x169.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-768x432.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-1536x864.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-1160x653.png 1160w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4-600x338.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-4.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">After you&#8217;ve finished developing your Yew Rust application, it&#8217;s time to make it available to your users. It is expected to be placed on a server someplace, either on a Cloud service provider or an on-premises server, for this purpose.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">This blog will go over how to launch your Yew Rust application on AWS EC2. We will utilize GitHub Actions to automate the deployment process by configuring a pipeline to generate artifacts that will be deployed to an EC2 instance. We are going to use Nginx as a web server to serve our static files.<\/p>\n\n\n\n<p>In this blog, we will cover:<\/p>\n\n\n\n<ul><li>EC2<\/li><li>Nginx<\/li><li>Hands-on<\/li><li>Conclusion<\/li><\/ul>\n\n\n\n<h2>EC2<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">EC2 (Elastic Compute Cloud) is an AWS service that allows users to get access to secure computing resources over the Internet. These computing resources which include networking resources, RAM, Storage, and Operating systems can be scaled on demand. It allows the flexibility to install various packages that suit a client\u2019s software needs.<\/p>\n\n\n\n<h2>Nginx<\/h2>\n\n\n\n<p class=\"has-text-align-justify\"><a href=\"https:\/\/www.nginx.com\/\">Nginx<\/a> is a lightweight web server that can also be used as a reverse proxy server depending on the user&#8217;s needs. In this case, we are going to use it to serve our build artifacts. The artifacts will include index.html, a CSS file, a WASM file, and a JS script.<\/p>\n\n\n\n<h3>Benefits<\/h3>\n\n\n\n<ul><li>Decreases website load time, ensuring a smoother user experience and minimizing high latency issues.<\/li><li>Enhances overall performance by effectively directing traffic to web servers, leading to a more enjoyable browsing experience for users.<\/li><li>Provides a cost-effective and high-performance load-balancing solution.<\/li><li>Offers scalability and the ability to handle multiple queries simultaneously.<\/li><li>Enables seamless real-time upgrades without any interruptions or downtime.<\/li><\/ul>\n\n\n\n<h2>Hands-on<\/h2>\n\n\n\n<p>The code used in this repository is found at <a href=\"https:\/\/github.com\/workfall\/workfall-yew-app\">https:\/\/github.com\/workfall\/workfall-yew-app<\/a>&nbsp;<\/p>\n\n\n\n<h3>Creating an EC2 Instance on AWS<\/h3>\n\n\n\n<p>On the AWS cloud console, log in to your account and search for EC2. Then click on the launch instance button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"560\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1024x560.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2168\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1024x560.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-300x164.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-768x420.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1536x840.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-600x328.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In the next screen, you can give the instance a name, and select an operating system; Ubuntu 22 LTS in this case.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"560\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-1024x560.png\" alt=\"\" class=\"wp-image-2171\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-1024x560.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-300x164.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-768x420.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-1536x840.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3-600x328.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-3.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Next, we can select an instance type depending on your memory and processor needs. We shall pick a free tier option for now.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"560\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-1024x560.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2170\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-1024x560.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-300x164.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-768x420.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-1536x840.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2-600x328.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-2.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Next, we can make firewall configs. It is advisable to carefully configure ingress rules so that your instance is not open to attack.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">You can allow all ingress traffic in HTTP and HTTPS. But for SSH, you can allow ingress traffic from only your IP address, we can dynamically allow GitHub Actions ingress and later on revoke it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"560\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-1024x560.png\" alt=\"\" class=\"wp-image-2169\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-1024x560.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-300x164.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-768x420.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-1536x840.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1-600x328.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-1.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3>Setting IAM permissions<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">The best direction to take for IAM permissions is to create an IAM user group that has a role that has access to a GitHub Actions Identity provider and then create a new user and add them to the user group. To add an Identity provider you can do it under identity providers in IAM.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"543\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-1024x543.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2173\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-1024x543.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-300x159.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-768x407.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-1536x814.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5-600x318.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-5.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>New User:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"541\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-1024x541.png\" alt=\"\" class=\"wp-image-2174\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-1024x541.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-300x159.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-768x406.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-1536x812.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6-600x317.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-6.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>GitHub Actions Role:<\/strong><\/p>\n\n\n\n<p>Under Trust relationships add GitHub Actions Identity provider.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"461\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-1024x461.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2175\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-1024x461.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-300x135.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-768x346.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-1536x691.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7-600x270.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-7.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3>GitHub Actions workflows<\/h3>\n\n\n\n<p>In your project root folder add the <strong>main.yml<\/strong> file to the path <strong>.github\/workflows<\/strong><\/p>\n\n\n\n<p><strong>main.yml:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"597\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-1024x597.png\" alt=\"\" class=\"wp-image-2176\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-1024x597.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-300x175.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-768x448.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-1536x896.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-600x350.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8-1200x700.png 1200w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-8.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>main.yml(2):<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">In this file, we shall build a release version with GitHub Actions and then deploy the artifacts to the EC2 instance created before.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"597\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-1024x597.png\" alt=\"\" class=\"wp-image-2177\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-1024x597.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-300x175.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-768x448.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-1536x896.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-600x350.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9-1200x700.png 1200w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-9.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3>Adding secrets to your GitHub repository<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">In your repository, go to settings &gt; Secrets and variables and add the secrets that will be required by GitHub Actions. Namely AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, EC2_HOST and EC2_USER.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"569\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-1024x569.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2178\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-1024x569.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-300x167.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-768x427.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-1536x853.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10-600x333.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-10.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3>Nginx configuration<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Login to your EC2 instance via SSH tunnel and install Nginx using the command <strong>sudo apt install nginx<\/strong>. To test if nginx is working, navigate to your public IP or use the command <strong>systemctl status nginx<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"570\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-1024x570.png\" alt=\"\" class=\"wp-image-2179\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-1024x570.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-300x167.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-768x428.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-1536x855.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11-600x334.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-11.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">To edit the Nginx configuration, use the command <strong>sudo nano \/etc\/nginx\/sites-enabled\/default<\/strong>. Edit the file to match the configuration shown below and then save and restart the Nginx server using the command <strong>systemctl restart nginx<\/strong>.<\/p>\n\n\n\n<p>GitHub Actions will copy the artifacts to the <strong>\/dist<\/strong> folder which we are pointing to nginx for it to serve.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"627\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-1024x627.png\" alt=\"\" class=\"wp-image-2180\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-1024x627.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-300x184.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-768x470.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-1536x940.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12-600x367.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-12.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Since you will be deploying code from the home directory, give Nginx permissions by running the following commands in order.<\/p>\n\n\n\n<p><strong>sudo chown -R your_instance_user:www-data \/home\/your_instance_user\/dist<\/strong><\/p>\n\n\n\n<p><strong>sudo chmod -R 750 \/home\/your_instance_user\/dist<\/strong><\/p>\n\n\n\n<p><strong>sudo nginx -t<\/strong><\/p>\n\n\n\n<p><strong>sudo systemctl restart nginx<\/strong><\/p>\n\n\n\n<p>You should able to see your application deployed live on AWS EC2.<\/p>\n\n\n\n<p><strong><em>Note: <\/em><\/strong><em>Make sure to edit the URL to use HTTP instead of HTTPS in case you haven\u2019t installed an SSL certificate.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"568\" src=\"https:\/\/www.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-1024x568.png\" alt=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx\" class=\"wp-image-2181\" srcset=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-1024x568.png 1024w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-300x167.png 300w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-768x426.png 768w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-1536x852.png 1536w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13-600x333.png 600w, https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/image-13.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2>Conclusion<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">In this blog, we covered deploying a Yew Rust application to AWS EC2 using GitHub Actions and Nginx. Most of the AWS concepts on Identity providers are covered in previous blogs. The links will be attached below.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">In the future, we shall tackle security when it comes to architecting your applications on AWS. For example, how to grant and revoke permissions to third-party services like GitHub Actions without making your instances vulnerable to attacks. We will come up with more such use cases in our upcoming blogs.<\/p>\n\n\n\n<p><strong>Meanwhile\u2026<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">If you are a Rust &amp; EC2 Lover and want to explore more about the above topics, here are a few of our blogs for your reference:<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-build-a-rust-webassembly-frontend-app-with-yew-framework\/\">How to Build a Rust WebAssembly Frontend App with Yew Framework?<\/a><\/li><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/aws-is-in-love-with-rust-and-you-should-be-too\/\">AWS is in love with RUST and you should be too!<\/a><\/li><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/15-awsome-years-of-amazon-ec2-and-still-going-strong\/\">15 AWSome years of Amazon EC2 and still going strong!<\/a><\/li><\/ul>\n\n\n\n<p>Stay tuned to get all the updates about our upcoming blogs on the cloud and the latest technologies.<\/p>\n\n\n\n<p><strong>Keep Exploring -&gt; Keep Learning -&gt; Keep Mastering&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">At <a href=\"https:\/\/www.workfall.com\/\">Workfall<\/a>, we strive to provide the best tech and pay opportunities to kickass coders around the world. If you\u2019re looking to work with global clients, build cutting-edge products, and make big bucks doing so, give it a shot at <a href=\"https:\/\/www.workfall.com\/partner\/\">workfall.com\/partner<\/a> today!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span> After you&#8217;ve finished developing your Yew Rust application, it&#8217;s time to make it available to your users. It is expected to be placed on a server someplace, either on a Cloud service provider or an on-premises server, for this purpose. This blog will go over how to launch your Yew Rust application on AWS EC2. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2182,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[288],"tags":[3,7,201,11,428,359,429,6,395],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx - The Workfall Blog<\/title>\n<meta name=\"description\" content=\"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &amp; Nginx - The Workfall Blog\" \/>\n<meta property=\"og:description\" content=\"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/\" \/>\n<meta property=\"og:site_name\" content=\"The Workfall Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/workfall\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-04T05:36:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-14T11:32:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@workfall\" \/>\n<meta name=\"twitter:site\" content=\"@workfall\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Workfall\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\",\"name\":\"Workfall - Hire #Kickass Coders On Demand\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/workfall\/\",\"https:\/\/www.linkedin.com\/company\/workfall\/\",\"https:\/\/facebook.com\/workfall\",\"https:\/\/twitter.com\/workfall\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"contentUrl\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"width\":400,\"height\":400,\"caption\":\"Workfall - Hire #Kickass Coders On Demand\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"name\":\"The Workfall Blog\",\"description\":\"#Tech #Remote #Jobs\",\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png\",\"width\":1200,\"height\":628,\"caption\":\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/\",\"name\":\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx - The Workfall Blog\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage\"},\"datePublished\":\"2023-05-04T05:36:36+00:00\",\"dateModified\":\"2025-08-14T11:32:28+00:00\",\"description\":\"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.\",\"breadcrumb\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learning.workfall.com\/learning\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &#038; Nginx\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage\"},\"author\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\"},\"headline\":\"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &#038; Nginx\",\"datePublished\":\"2023-05-04T05:36:36+00:00\",\"dateModified\":\"2025-08-14T11:32:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage\"},\"wordCount\":981,\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png\",\"keywords\":[\"AWS\",\"AWS EC2\",\"AWS Rust\",\"ec2\",\"Nginx\",\"rust\",\"Ubuntu\",\"workfall\",\"Yew\"],\"articleSection\":[\"Backend Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\",\"name\":\"Workfall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"caption\":\"Workfall\"},\"sameAs\":[\"https:\/\/www.workfall.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx - The Workfall Blog","description":"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/","og_locale":"en_US","og_type":"article","og_title":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx - The Workfall Blog","og_description":"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.","og_url":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/","og_site_name":"The Workfall Blog","article_publisher":"https:\/\/facebook.com\/workfall","article_published_time":"2023-05-04T05:36:36+00:00","article_modified_time":"2025-08-14T11:32:28+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@workfall","twitter_site":"@workfall","twitter_misc":{"Written by":"Workfall","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization","name":"Workfall - Hire #Kickass Coders On Demand","url":"https:\/\/learning.workfall.com\/learning\/blog\/","sameAs":["https:\/\/www.instagram.com\/workfall\/","https:\/\/www.linkedin.com\/company\/workfall\/","https:\/\/facebook.com\/workfall","https:\/\/twitter.com\/workfall"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","contentUrl":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","width":400,"height":400,"caption":"Workfall - Hire #Kickass Coders On Demand"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website","url":"https:\/\/learning.workfall.com\/learning\/blog\/","name":"The Workfall Blog","description":"#Tech #Remote #Jobs","publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png","width":1200,"height":628,"caption":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx"},{"@type":"WebPage","@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage","url":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/","name":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance & Nginx - The Workfall Blog","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage"},"datePublished":"2023-05-04T05:36:36+00:00","dateModified":"2025-08-14T11:32:28+00:00","description":"Deploy your Yew Rust app to a server for user access. Place it on a Cloud provider or on-premises. Read on to learn more.","breadcrumb":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learning.workfall.com\/learning\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &#038; Nginx"}]},{"@type":"Article","@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#article","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage"},"author":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a"},"headline":"Deploy a Yew Rust Application on an AWS EC2 Ubuntu Instance &#038; Nginx","datePublished":"2023-05-04T05:36:36+00:00","dateModified":"2025-08-14T11:32:28+00:00","mainEntityOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#webpage"},"wordCount":981,"publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/deploy-a-yew-rust-application-on-an-aws-ec2-ubuntu-instance-nginx\/#primaryimage"},"thumbnailUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png","keywords":["AWS","AWS EC2","AWS Rust","ec2","Nginx","rust","Ubuntu","workfall","Yew"],"articleSection":["Backend Development"],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a","name":"Workfall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","caption":"Workfall"},"sameAs":["https:\/\/www.workfall.com"]}]}},"jetpack_featured_media_url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1.png","jetpack-related-posts":[{"id":2266,"url":"https:\/\/learning.workfall.com\/learning\/blog\/deploying-a-rust-rocket-rest-api-on-aws-ec2-with-docker-and-github-actions\/","url_meta":{"origin":2167,"position":0},"title":"Deploying a Rust Rocket REST API on AWS EC2 with Docker and GitHub Actions","date":"May 16, 2023","format":false,"excerpt":"When Rust compiles code, you get an executable if you created the application using the --bin command. In this blog, we shall look at how we can create a Dockerfile to create an image with this executable. We shall then deploy this image on EC2 using GitHub Actions which will\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"Deploying a Rust Rocket REST API on AWS EC2 with Docker and GitHub Actions","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":226,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-build-and-deploy-a-mern-stack-application-on-aws\/","url_meta":{"origin":2167,"position":1},"title":"How to build and deploy a MERN Stack Application on AWS?","date":"October 27, 2021","format":false,"excerpt":"Do you have a wonderful product idea that keeps springing into your head? However, not sure which technology or framework to adopt for easier and faster deployment of scalable web applications, you can go for MERN Stack.\u00a0 A MERN Stack is a collection of front-end, back-end, and database components that\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Build and Deploy a MERN Stack Application on AWS","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/10\/MERN.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2287,"url":"https:\/\/learning.workfall.com\/learning\/blog\/reverse-proxy-mastery-deploying-a-full-stack-application-with-multi-container-docker-and-nginx\/","url_meta":{"origin":2167,"position":2},"title":"Reverse Proxy Mastery: Deploying a Full-Stack Application with Multi-Container Docker and Nginx","date":"May 23, 2023","format":false,"excerpt":"Sometimes, developing a full-stack application is not the end of the journey for a web developer. Let us take a case scenario whereby, you have a backend, a frontend, and also a database. For such a setup, we would like to make it easy to replicate our application in different\u2026","rel":"","context":"In &quot;Frontend Development&quot;","img":{"alt_text":"Reverse Proxy Mastery: Deploying a Full-Stack Application with Multi-Container Docker and Nginx","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1-2.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":593,"url":"https:\/\/learning.workfall.com\/learning\/blog\/authenticate-windows-ec2-instance-aws-managed-microsoft-active-directory\/","url_meta":{"origin":2167,"position":3},"title":"How to authenticate Windows EC2 Instance using AWS Managed Microsoft Active Directory?","date":"November 11, 2021","format":false,"excerpt":"Currently, 95% of enterprises use Active Directory for authentication. Adopting cloud technology successfully necessitates taking into account on-premises IT infrastructure and applications. Active Directory architecture that is both reliable and secure is a vital IT infrastructure basis for businesses that run Windows applications. The directory service can be hosted in\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Authenticate Windows EC2 - AWS","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/Directory-service.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":399,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-and-mount-an-amazon-efs-file-system-using-amazon-ec2-launch-instance-wizard\/","url_meta":{"origin":2167,"position":4},"title":"How to create and mount an Amazon EFS file system using Amazon EC2 Launch Instance Wizard?","date":"November 3, 2021","format":false,"excerpt":"Sizing, configuring, and deploying AWS resources for third-party applications, such as SAP or SQL server is always challenging for you. Are you looking for a wizard who can help you with these challenging tasks?\u00a0 AWS Launch Wizard can help you in simplifying these tasks by offering a guided way of\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"How to create and mount an Amazon EFS file system using Amazon EC2 Launch Instance Wizard","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/Launch-Wizard.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":215,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-install-and-run-docker-containers-on-amazon-ec2-instance\/","url_meta":{"origin":2167,"position":5},"title":"How to install and run Docker Containers on Amazon EC2 Instance?","date":"October 27, 2021","format":false,"excerpt":"While running Docker on AWS, developers and admins can build, ship, and run highly reliable distributed applications at any scale.\u00a0\u00a0In this blog, we will demonstrate how to install, build and run docker containers on Amazon EC2 instances. Refer to Part 1 of the blog here: How To Install And Run\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Insrall and Run Docker on Amazon EC2 - Workfall","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/10\/docker.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2167"}],"collection":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/comments?post=2167"}],"version-history":[{"count":2,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2167\/revisions"}],"predecessor-version":[{"id":2264,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2167\/revisions\/2264"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media\/2182"}],"wp:attachment":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media?parent=2167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/categories?post=2167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/tags?post=2167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}