CentOS 8 カスタム ディレクトリ インストール nginx (チュートリアルの詳細)

CentOS 8 カスタム ディレクトリ インストール nginx (チュートリアルの詳細)

1. ツールとライブラリをインストールする

# PCRE は、Perl 互換の正規表現ライブラリを含む Perl ライブラリです。 nginxのhttpモジュールはpcreを使用して正規表現を解析します

# zlib ライブラリは、圧縮および解凍のさまざまな方法を提供します。nginx は、zlib を使用して http パッケージの内容を gzip します。

yum -y インストール gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2. ディレクトリ構造

ソースコードディレクトリ: /home/werben/pkgsrc/nginx
インストールディレクトリ: /home/werben/application/nginx

3. ソースコードをダウンロードして解凍する

# 公式ウェブサイトアドレス: https://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.17.5.tar.gz

4. ユーザーグループとユーザーを作成する

グループ追加www
ユーザー追加 -g www www

5. ソースコードをコンパイルする

./configure --user=www --group=www --prefix=/home/werben/application/nginx --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --with-pcre

作成 && インストール

6. グローバルコマンドのマッピング

ln -s /home/werben/application/nginx/sbin/nginx /usr/local/bin/nginx

7. 開始、停止、再起動

nginx -s 停止
nginx -s 終了
ngins -s リロード

8. 設定ファイルnginx.confの正確性を確認する

nginx -t

9. 起動時に自動的に起動する

vim /lib/systemd/system/nginx.service
[ユニット]
説明=nginx
後=ネットワーク.ターゲット

[サービス]
タイプ=フォーク
実行開始=nginx
ExecReload=nginx のリロード
ExecStop=nginx 終了
プライベートTmp=true

[インストール]
WantedBy=マルチユーザー.ターゲット
#デーモンプロセスをリロードする systemctl daemon-reload

#nginx サービスを開始します systemctl start nginx.service
#nginx サービスを停止します systemctl stop nginx.service
#起動時にシステムが自動的に起動するように設定する systemctl enable nginx.service
#自動起動を停止する systemctl enable nginx.service
#サービスの現在のステータスを表示する systemctl status nginx.service
#サービスを再起動します systemctl restart nginx.service
#開始されているすべてのサービスを表示する systemctl list-units --type=service

10. 問題と解決策

#`systemctl start nginx.service` が次のエラーをプロンプト表示した場合: 制御プロセスがエラー コードで終了したため、nginx.service のジョブが失敗しました。
詳細については、「systemctl status nginx.service」および「journalctl -xe」を参照してください。

#systemctl status nginx.service を実行します
#次のエラーが発生した場合プロセス: 35783 ExecStart=...nginx/sbin/nginx(code=exitedstatus=203/EXEC)
  nginx.service: 制御プロセスが終了しました。コード = 終了、ステータス = 203
  systemd[1]: nginx.service: 結果 'exit-code' で失敗しました。
  localhost.localdomain systemd[1]: nginxの起動に失敗しました。


ジャーナルctl -xe

#systemdに実行アクセスを許可する必要があると思われる場合は>
  その場合は、これをバグとして報告する必要があります。
  このアクセスを許可するには、ローカル ポリシー モジュールを生成できます。
  次のコマンドを実行して、今のところこのアクセスを許可してください。
  # ausearch -c '(nginx)' --raw | Audit2allow -M my-nginx
  # semodule -X 300 -i my-nginx.pp


#解決策: setenforce 0
vim /etc/selinux/config
SELINUX=無効

ps: Nginx 設定ファイルの構造の説明

すべての Nginx 構成ファイルは /etc/nginx/ ディレクトリにあります。

Nginx の主な設定ファイルは /etc/nginx/nginx.conf です。

ドメインごとに個別の構成ファイルを作成すると、サーバーの保守が容易になります。

Nginx サーバー ブロック ファイルは .conf で終わる必要があり、/etc/nginx/conf.d ディレクトリに保存されます。サーバー ブロックは必要な数だけ作成できます。

標準的な命名規則に従うことをお勧めします。たとえば、ドメイン名がmydomain.comの場合、設定ファイルはmydomain.com.confという名前になります。

ドメイン サーバー ブロックで繰り返し可能な構成セクションを使用する場合は、これらのセクションをフラグメントにリファクタリングすることをお勧めします。

Nginx ログ ファイル (access.log および error.log) は、/var/log/nginx/ ディレクトリにあります。サーバー モジュールごとに異なるアクセス ログ ファイルとエラー ログ ファイルを用意することをお勧めします。

ドメイン ドキュメント ルートは任意の場所に設定できます。 Webroot の最も一般的な場所は次のとおりです。

/home/<ユーザー名>/<サイト名>
/var/www/<サイト名>
/var/www/html/<サイト名>
/opt/<サイト名>
nginx の共有フォルダ

要約する

上記は、centos8 のカスタム ディレクトリに nginx をインストールする方法について紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Nginx インストールの詳細なチュートリアル
  • Centos に PHP7.4 と Nginx をインストールする方法
  • Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)
  • LinuxにNginxをインストールする正しい手順
  • Centos7 に nginx をインストールした後、conf.d ディレクトリに default.conf ファイルがないために「Welcome to nginx on Fedora!」というエラーが表示される問題を解決します。
  • Centos7.3 Nginx をインストールして展開し、https を設定する方法
  • Linux に nginx をインストールする方法
  • Nginx インストール エラーの解決方法

<<:  MySQL InnoDB のロック機構の詳細な説明

>>:  Vue を使用した Amap アプリケーション開発のベスト プラクティス

推薦する

DockerでRedisを使用するための詳細な手順

1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...

dockerでifconfigが利用できない問題を解決する

最近、docker を学習していたときに、docker コンテナ内のネットワーク状態を照会するために...

Docker を使用した SQL Server の実行の実装

現在、.net Core はクロスプラットフォームであり、誰もが Linux と Docker を使...

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

VUEプロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

この記事ではCSSボーダーの使い方を説明します

境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...

JavaScript は div マウス ドラッグ効果を実装します

この記事では、divマウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考まで...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

MySQLに画像を保存する方法

1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...

MySQLでルートユーザーのパスワードを変更する方法

方法1: SET PASSWORDコマンドを使用する mysql> username@loca...

Mysql関数呼び出しの最適化の詳細な説明

目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...

MySQL インデックスの原理と最適化の詳細な説明

序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...

CSS3でハートを描く

成果を達成する要件/機能: CSS + HTML を使用してハートを描く方法。分析:正方形と 2 つ...

win10 での mysql5.7.21 の詳細なインストール手順

この記事では、MySQL 5.7.21のインストールとインストール中に発生した問題を参考までに紹介し...