Skip to content

Commit

Permalink
Web server is two words
Browse files Browse the repository at this point in the history
  • Loading branch information
stevepiercy committed Nov 27, 2024
1 parent 045d1f0 commit 3bd4a32
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion docs/effective-volto/architecture/CORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,4 @@ The default backend will live in `http://localhost:8080/Plone` and the frontend
RAZZLE_DEV_PROXY_API_PATH=http://localhost:8080/mysite
```

In production, you'll probably will be using Volto's Seamless mode, so you won't be defining any custom `API_PATH` but using `++api++` traversal, and reverse proxying it through your webserver.
In production, you'll probably will be using Volto's Seamless mode, so you won't be defining any custom `API_PATH` but using `++api++` traversal, and reverse proxying it through your web server.
2 changes: 1 addition & 1 deletion docs/mastering-plone-5/buildout_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Even in smaller buildouts this is a useful feature. We are using [collective.rec
The omelette recipe needs to know which eggs to reference. We want the same eggs that our instance uses, so we reference the eggs of the instance instead of repeating the whole list.
Another example: Say you create configuration files for a webserver like nginx, you can define the target port for the reverse proxy by looking it up from the zope2instance recipe.
Another example: Say you create configuration files for a web server like nginx, you can define the target port for the reverse proxy by looking it up from the zope2instance recipe.
Configuring complex systems always involves a lot of duplication of information. Using references in the buildout configuration allows you to minimize these duplications.
```
Expand Down
2 changes: 1 addition & 1 deletion docs/mastering-plone-5/deployment_sites.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Load balancer (nginx or haproxy)
|
Webserver (nginx)
Web server (nginx)
```

Deploying Plone and production-setups are outside the scope for this training.
Expand Down
2 changes: 1 addition & 1 deletion docs/mastering-plone-5/restapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ A big advantage of Vue.js over other frameworks for our purpose is that it doesn
NodeJS..

Our focus is Plone and interacting with {py:mod}`plone.restapi`, and `Vue.js` perfectly suits our needs
because it simply lets us use Plone as our development webserver.
because it simply lets us use Plone as our development web server.

To get started, we create a new subdirectory of {file}`browser` named {file}`talklist`.

Expand Down
18 changes: 9 additions & 9 deletions docs/plone-deployment/plone-stack.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ This guide won't cover the integration of a web accelerator or the setup of an e

## Components of the Plone Stack

### Webserver
### Web server

The webserver, accessible externally on ports 80 and 443, handles the routing and rewriting of HTTP requests to the Plone frontend and backend, and is tasked with TLS termination. While {term}`Nginx` and {term}`Traefik` are recommended, other webservers can also be employed. This training will exclusively utilize Traefik.
The web server, accessible externally on ports 80 and 443, handles the routing and rewriting of HTTP requests to the Plone frontend and backend, and is tasked with TLS termination. While {term}`Nginx` and {term}`Traefik` are recommended, other web servers can also be employed. This training will exclusively utilize Traefik.

To understand the rewrite rules used in Traefik, please read our reference about {term}`Zope`'s {doc}`virtual-host`.

### Web Accelerator

{term}`Varnish`, a web accelerator, is positioned between the external webserver and internal services to cache dynamically generated content. For a detailed Plone setup with Varnish, refer to the [volto-caching](https://github.com/collective/volto-caching) repository.
{term}`Varnish`, a web accelerator, is positioned between the external web server and internal services to cache dynamically generated content. For a detailed Plone setup with Varnish, refer to the [volto-caching](https://github.com/collective/volto-caching) repository.

### Plone Frontend

Hosted on a Node HTTP-server running on port 3000, the Plone frontend constitutes the default user interface and requires access to the Plone Backend and the webserver.
Hosted on a Node HTTP-server running on port 3000, the Plone frontend constitutes the default user interface and requires access to the Plone Backend and the web server.

### Plone Backend

Expand All @@ -43,7 +43,7 @@ The database layer can range from a simple ZODB with file storage to more scalab
#### Without Specialized Database

```
Webserver -> Plone Frontend -> Plone Backend (file storage).
Web server -> Plone Frontend -> Plone Backend (file storage).
```

```{note}
Expand All @@ -53,7 +53,7 @@ Ideal for demo sites and Plone trials.
#### With Specialized Database

```
Webserver → Plone Frontend → Plone Backend → Database
Web server → Plone Frontend → Plone Backend → Database
```

```{note}
Expand All @@ -63,7 +63,7 @@ Solution to be presented in this training.
#### With Specialized Database and Caching

```
Webserver → Web Accelerator → Plone Frontend → Plone Backend → Database
Web server → Web Accelerator → Plone Frontend → Plone Backend → Database
```

### Multi-server Setup
Expand All @@ -76,9 +76,9 @@ In a multi-server environment, load distribution and redundancy are achieved thr
Flow of a request to https://example.com
```

#### Webserver and Web Accelerator Layer
#### Web server and Web Accelerator Layer

Externally accessible machine hosting both the webserver and web accelerator on ports 80 and 443.
Externally accessible machine hosting both the web server and web accelerator on ports 80 and 443.

#### Plone Application Layer (Frontend and Backend)

Expand Down
2 changes: 1 addition & 1 deletion docs/plone-deployment/project-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ In both terminals, press {kbd}`Ctrl-C`.

## Running Docker Compose

Docker Compose is suitable for reviewing your development progress or exploring the project. It comprises four services: {term}`Traefik` webserver, Frontend, Backend, and a `Postgres` database, mimicking a production environment.
Docker Compose is suitable for reviewing your development progress or exploring the project. It comprises four services: {term}`Traefik` web server, Frontend, Backend, and a `Postgres` database, mimicking a production environment.

```{note}
A secondary Backend route, `/ClassicUI`, mirrors `http://localhost:8080/Plone`. It's secured with Basic Authentication, default credentials being **admin/admin**.
Expand Down
4 changes: 2 additions & 2 deletions docs/plone-deployment/virtual-host.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Zope comes with one object that helps you do virtual hosting: *Virtual Host Mons

## Virtual Host Monster

Zope objects need to generate their own URLs from time to time. For instance, when a Zope object has its "absolute_url" method called, it needs to return a URL which is appropriate for itself. This URL typically contains a hostname, a port, and a path. In a "default" Zope installation, this hostname, port, and path is typically what you want. But when it comes time to serve multiple websites out of a single Zope instance, each with their own "top-level" domain name, or when it comes time to integrate a Zope Folder within an existing website using Apache or another webserver, the URLs that Zope objects generate need to change to suit your configuration.
Zope objects need to generate their own URLs from time to time. For instance, when a Zope object has its "absolute_url" method called, it needs to return a URL which is appropriate for itself. This URL typically contains a hostname, a port, and a path. In a "default" Zope installation, this hostname, port, and path is typically what you want. But when it comes time to serve multiple websites out of a single Zope instance, each with their own "top-level" domain name, or when it comes time to integrate a Zope Folder within an existing website using Apache or another web server, the URLs that Zope objects generate need to change to suit your configuration.

A Virtual Host Monster's only job is to change the URLs which your Zope objects generate. This allows you to customize the URLs that are displayed within your Zope application, allowing an object to have a different URL when accessed in a different way. This is most typically useful, for example, when you wish to "publish" the contents of a single Zope Folder (e.g. `/FooFolder`) as a URL that does not actually contain this Folder's name (for example, as the hostname `www.foofolder.com`).

Expand All @@ -26,7 +26,7 @@ Virtual Host Monster configuration can be complicated because it requires that y

### Configuring the Virtual Host Monster

The default mode for configuring the Virtual Host Monster is not to do any configuration at all! Rather, the external router or webserver modifies the request URL to signal what the *real* public URL for the request should be.
The default mode for configuring the Virtual Host Monster is not to do any configuration at all! Rather, the external router or web server modifies the request URL to signal what the *real* public URL for the request should be.

If you *do* choose to change the settings of your VHM, the easiest method to do so is to use the VHM`s ZMI interface.

Expand Down

0 comments on commit 3bd4a32

Please sign in to comment.