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 アプリケーション開発のベスト プラクティス

推薦する

MySQLクエリキャッシュの簡単な使い方の詳細な説明

目次1. クエリキャッシュの実装プロセス2. クエリキャッシュを構成する3. クエリキャッシュを有効...

Vue-cliはプロジェクトを作成し、プロジェクト構造を分析します

目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...

MySQL 完全折りたたみクエリ正規マッチングの詳細な説明

概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...

js の parseInt() の奇妙な動作の調査と修正

背景: parseInt(0.006) または parseInt(0.0006) は 0 という値を...

MySQL kill コマンドの使用ガイド

KILL [接続 | クエリ] processlist_id MySQL では、各接続は個別のスレ...

検証コード干渉を実装する js (動的)

この記事の例では、検証コードの動的干渉を実装するためのjsの具体的なコードを共有しています。具体的な...

18 個のキラー JavaScript ワンライナー

序文JavaScript は習得が最も簡単な言語の 1 つであるため、成長と繁栄を続けており、市場に...

MySQL で CURRENT_TIMESTAMP を使用する方法

目次CURRENT_TIMESTAMPの使用CURRENT_TIMESTAMPを使用したタイムスタン...

mybatis-plusページングパラメータが渡された後、SQLのwhere条件にはページング情報操作の制限がありません

2時間近くかけて、さまざまな方法を試しました。後で、whereでフィルタリングした後のデータ量が1ペ...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

訪問者を惹きつけるウェブサイトコンテンツを作成する14の方法

ネットサーフィンをしていると、私の注意を引こうとする美しいグラフィックでいっぱいの Web サイトを...

Navicat を使用して csv ファイルを MySQL にインポートする

この記事では、参考までに、Navicatを使用してCSVファイルをMySQLにインポートするための具...

MySQL 5.7 と Mac 上の MySql の詳細なインストール図をダウンロードする

1.ブラウザに次のアドレスを入力します参考: 2. 次のインターフェースに入ります。下の場所をクリッ...

MySQL 8.0.14 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.14のインストールと設定のプロセスを記録しています。具体的な内容は...