fix a few bugs in AWS, init proxy guide

Signed-off-by: Derrick Mehaffy <derrickmehaffy@gmail.com>
This commit is contained in:
Derrick Mehaffy 2020-04-01 00:19:16 -07:00
parent c7e15d37ed
commit ad3f85f85d
No known key found for this signature in database
GPG Key ID: 5244F387D2FF3618
3 changed files with 21 additions and 6 deletions

View File

@ -1,6 +1,8 @@
# Amazon AWS
This is a step-by-step guide for deploying a Strapi project to [Amazon AWS EC2](https://aws.amazon.com/ec2/). This guide will connect to an [Amazon AWS RDS](https://aws.amazon.com/rds/) for managing and hosting the database. Optionally, this guide will show you how to connect host and serve images on [Amazon AWS S3](https://aws.amazon.com/s3/). Prior to starting this guide, you should have created a [Strapi project](../getting-started/quick-start.md), to use for deploying on AWS.
This is a step-by-step guide for deploying a Strapi project to [Amazon AWS EC2](https://aws.amazon.com/ec2/). This guide will connect to an [Amazon AWS RDS](https://aws.amazon.com/rds/) for managing and hosting the database. Optionally, this guide will show you how to connect host and serve images on [Amazon AWS S3](https://aws.amazon.com/s3/).
Prior to starting this guide, you should have created a [Strapi project](../getting-started/quick-start.md), to use for deploying on AWS. And have read through the [configuration](../installation/deployment.md#configuration) section.
### Amazon AWS Install Requirement and creating an IAM non-root user
@ -102,7 +104,7 @@ Your instance is now running. Continue to the next steps.
### Install a PostgreSQL database on AWS RDS
Amazon calls their database hosting services **RDS**. Multiple database options exist and are available. In this guide, **PostgreSQL** is used as the example, and the steps are similar for each of the other database that are supported by Strapi. (**MySQL**, **MondoDB**, **PostgreSQL**, **MariaDB**, **SQLite**). You will set-up an **RDS instance** to host your `postgresql` database.
Amazon calls their database hosting services **RDS**. Multiple database options exist and are available. In this guide, **PostgreSQL** is used as the example, and the steps are similar for each of the other database that are supported by Strapi. (**MySQL**, **MongoDB**, **PostgreSQL**, **MariaDB**, **SQLite**). You will set-up an **RDS instance** to host your `postgresql` database.
::: tip
**Amazon RDS** does **NOT** have a completely free evaluation tier. After finishing this guide, if you are only testing, please remember to [delete the database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). Otherwise, you will incur charges.
@ -205,7 +207,7 @@ ubuntu@ip-12.123.123.11:~$
#### 3. Install **Node.js** with **npm**:
Strapi currently supports `Node.js v10.x.x`. The following steps will install Node.js onto your EC2 server.
Strapi currently supports `Node.js v12.x.x`. The following steps will install Node.js onto your EC2 server.
```bash
cd ~
@ -216,7 +218,7 @@ sudo apt-get install nodejs
node -v && npm -v
```
The last command `node -v && npm -v` should output two versions numbers, eg. `v10.x.x, 6.x.x`.
The last command `node -v && npm -v` should output two versions numbers, eg. `v12.x.x, 6.x.x`.
#### 4. Create and change npm's default directory.

View File

@ -0,0 +1,13 @@
# Proxying
As Strapi does not handle SSL directly and hosting a Node.js service on the "edge" network is not a secure solution it is recommended that you use some sort of proxy application such as Nginx, Apache, HAProxy, Traefik, or others. Below you will find some sample configurations for a few of these, naturally these configs may not suit all environments and you will likely need to adjust them to fit your needs.
All of these configurations will proxy to a **subdomain** `IE: api.example.com` which is the only currently supported format, **sub-folder** `IE: example.com/api` based proxying is not currently supported and will likely break access to the admin panel.
## Nginx
The below configuration is based on Nginx virtual hosts, this means that you create configurations for each **domain** to allow serving multiple domains on the same port such as 80 (HTTP) or 443 (HTTPS). It also uses a central upstream file to store an alias to allow for easier management, load balancing, and failover in the case of clustering multiple Strapi deployments.
### Upstream
Upstream blocks are used to map an alias such as `strapi` to a specific URL such as `localhost:1337`. While it would be useful to define these in each virtual host file, Nginx currently doesn't support loading these within the virtual host **if you have multiple virtual host files** and instead you should configure these within the `conf.d` directory as this is loaded before any virtual host files.

View File

@ -6,7 +6,7 @@ Strapi gives you many possible deployment options for your project or applicatio
Deploying **databases** along with Strapi is covered in the [Databases Guide](../guides/databases.md).
:::
## Documented Options
### Documented Options
Manual guides guides for deployment on various platforms, for One-click and docker please see the [installation](./installation) guides.
@ -55,7 +55,7 @@ Manual guides guides for deployment on various platforms, for One-click and dock
</InstallLink>
</div>
## Configuration
### Configuration
#### 1. Configure