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

推薦する

フロントエンドJavaScriptの約束

目次1. Promiseとは何か2. 基本的な使い方3. Promiseメソッド3.1 Promis...

画像にマウスを置いたときにズームイン/ズームアウトするには JS を使用します

マウスが画像上にあるときにズームインおよびズームアウトするには、JS を使用します。具体的なコードは...

Nginx バージョンのスムーズなアップグレードソリューションの詳細説明

目次背景: Nginx スムーズ アップグレード ソリューションフォールバック手順要約する背景:負荷...

時系列転位修復ケースを実装するSQL

目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...

docker を使用してコード サーバーをデプロイする方法

画像をプルする # docker pull codercom/code-server # Docke...

Linux yum パッケージ管理方法

導入yum (Yellow dog Updater, Modified) は、Fedora、RedH...

CocosCreatorオブジェクトプールの使い方

目次序文:特定の操作ステップ1: プレハブを準備するステップ2: オブジェクトプールを初期化するステ...

SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

構文フォーマット: row_number() over(partition by grouping ...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

HTML はテキストの外側に省略記号を表示します...テキストオーバーフローによって実装されます

div または span に同時に CSS を適用する必要があります。コードをコピーコードは次のとお...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

JS ES6における構造化分解についてお話しましょう

概要es6 では、配列またはオブジェクトから指定された要素を取得する新しい方法が追加されました。これ...

MySQLデータベースで列を追加、削除、変更する方法

この記事では、例を使用して、MySQL データベースの列を追加、削除、および変更する方法について説明...

SQL Server データベース エラー 5123 の解決方法

なぜなら、SQL Server 2005 に基づくデータベース チュートリアルがあり、そこで使用され...

Vue v-onディレクティブの使用について

目次1. イベントのリスニング2. イベントパラメータを渡す3. イベント修飾子ケース1: クリック...