Skip to content

Updated NGINX OSS installation procedure. #568

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

y82
Copy link
Contributor

@y82 y82 commented May 20, 2025

This is a major update of "Installing NGINX Open Source" Part 1, it doesn't include compilation-related updates that will be Part 2.

  • clarification of modules included in the package: core modules, modules added with configure option, dynamic modules (separate packages)

  • described packages that provide dynamic modules from our repo

  • more clarity about stable and mainline: mainline is good for production, while stable is good for environments with strict regulations

  • more clarity about ways of installation: official repo (for production), os repo (for playing), compile your own

  • "supported operating systems" is now a link to technical specs as in Plus which eliminates extra support overhead

  • "Installing from OS repo" is now a separate chapter as:

    • supported OSes list isn't required - you just install whatever is in your OS repo, no choice (even new versions contain old nginx)
    • it's not recommended for production and is good only for some basic stuff (testing, learning)
    • more promotion to the "correct" way of installation which is our packages repo
  • minor fixes

Minor changes:

  • sentence-case

  • removal of html tags such as 'span'

  • fix table layout for modules

  • removed double ticks

  • updated the mainline version acc. to the latest release

Tested on all versions except AL2023 and Debian (it's similar to Ubuntu anyway), for RHEl-based testing, AlmaLinux was used.

  • For RHEL:

    • removed dependency 'install yum-utils' (it installs yum-config-manager, replaced by dnf config-manager)
    • updated command 'yum-config-manager' to 'yum / dnf config-manager' which is available by default
  • for Alpine:

    • repo commands fixed to use @nginx tag
    • fixing wget command for pcre and adding &&\ to make it copy-pasteable
  • for SUSE:

    • fixed gpg --show-keys /tmp/nginx_signing.key

Note for reviewers: it makes more sense to test with preview and raw source rather than diff.

Checklist

Before merging a pull request, run through this checklist and mark each as complete.

  • I have read the contributing guidelines
  • I have signed the F5 Contributor License Agreement (CLA)
  • I have rebased my branch onto main
  • I have ensured my PR is targeting the main branch and pulling from my branch from my own fork
  • I have ensured that the commit messages adhere to Conventional Commits
  • I have ensured that documentation content adheres to the style guide
  • If the change involves potentially sensitive changes1, I have assessed the possible impact
  • If applicable, I have added tests that prove my fix is effective or that my feature works
  • I have ensured that existing tests pass after adding my changes
  • If applicable, I have updated README.md and CHANGELOG.md

Footnotes

  1. Potentially sensitive changes include anything involving code, personally identify information (PII), live URLs or significant amounts of new or revised documentation. Please refer to our style guide for guidance about placeholder content.

@y82 y82 self-assigned this May 20, 2025
@y82 y82 requested a review from a team as a code owner May 20, 2025 14:05
@github-actions github-actions bot added documentation Improvements or additions to documentation product/nginx-plus NGINX Plus (and NGINX Open Source in docs.ngninx.com) labels May 20, 2025
Copy link
Contributor

@mjang mjang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relatively minor comments

@@ -9,548 +9,641 @@ type:
- how-to
---

This article explains how to install NGINX Open Source.
This article explains how to install NGINX Open Source on various operating systems, including an overview of existing NGINX Open Source versions, installation types and methods, modules included in the default package and dynamic modules packages, and the basics of compiling nginx from the source code.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This article explains how to install NGINX Open Source on various operating systems, including an overview of existing NGINX Open Source versions, installation types and methods, modules included in the default package and dynamic modules packages, and the basics of compiling nginx from the source code.
This article explains how to install NGINX Open Source on various operating systems, including an overview of existing NGINX Open Source versions, installation types and methods, modules included in the default package and dynamic modules packages, and the basics of compiling NGINX from the source code.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later in the file, I see you've used an alternative that IMO is just as good:

`nginx`


NGINX Open Source is available in two versions:
NGINX Open Source is available in two versions: Mainline and Stable. The source code and release notes for both versions are available from [nginx download page](https://nginx.org/en/download.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NGINX Open Source is available in two versions: Mainline and Stable. The source code and release notes for both versions are available from [nginx download page](https://nginx.org/en/download.html).
NGINX Open Source is available in two versions: Mainline and Stable. The source code and release notes for both versions are available from [NGINX download page](https://nginx.org/en/download.html).


<span id="compile_vs_package"></span>
## Choosing Between a Prebuilt Package and Compiling from Source
Mainline version (also Mainline release, Mainline branch) is the latest development version, updated approximately every 1 or 2 months, includes the latest features, bug fixes and security fixes. This version is recommended for production unless your organization has strict requirements for stability, in which case the stable version is the better choice. The Mainline version is always odd-numbered, for example, 1.*27*.X.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: Even though I see what you've bolded, I see "odd-number", and I think, "Oh, OK, the first 1 is an odd number." I wonder if you can describe it differently, something like:

Suggested change
Mainline version (also Mainline release, Mainline branch) is the latest development version, updated approximately every 1 or 2 months, includes the latest features, bug fixes and security fixes. This version is recommended for production unless your organization has strict requirements for stability, in which case the stable version is the better choice. The Mainline version is always odd-numbered, for example, 1.*27*.X.
Mainline version (also Mainline release, Mainline branch) is the latest development version, updated approximately every 1 or 2 months, includes the latest features, bug fixes and security fixes. This version is recommended for production unless your organization has strict requirements for stability, in which case the stable version is the better choice. The Mainline version always has an odd middle number, for example, 1.*27*.X.

I can visualize similar options such as "odd minor version number" or "odd second number"


NGINX, Inc. provides packages for the following CentOS, Oracle Linux, RHEL, AlmaLinux and Rocky Linux versions:
## Package contetns {#prebuilt}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Package contetns {#prebuilt}
## Package contents {#prebuilt}


3. Install NGINX Open Source:
The steps include updating the package repository and installing nginx.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The steps include updating the package repository and installing nginx.
The steps include updating the package repository and installing NGINX.

```shell
sudo yum install nginx
```
- For MacOS:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: does this suggest that we support MacOS?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation product/nginx-plus NGINX Plus (and NGINX Open Source in docs.ngninx.com)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants