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

推薦する

CSSを使用してHTMLテキストボックス内のテキストの垂直方向の中央を制御する

Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...

MySQL SQL文の特殊処理文のまとめ(必読)

1.テーブル全体を更新します。データ行の列の値が空の場合は、別の列フィールドの値と同じにします。 ...

tomcat デプロイメント プロジェクトの実装と IDEA との統合

目次Tomcat でプロジェクトを展開する 3 つの方法プロジェクトをwebappsディレクトリに直...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

JavaScript での HTML キャンバスとページ ストレージ テクノロジの使用に関する詳細な説明

目次1. JavaScriptはHTMLでキャンバスを使用する2. ページストレージ技術1. Jav...

ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

Vue でバイナリ ファイル ストリームを受信して​​ PDF プレビューを実現する方法

バックグラウンド コントローラー @RequestMapping("/getPDFStre...

nginx + セカンダリドメイン名 + https サポートを使用する

ステップ1: Alibaba Cloudプライマリドメイン名にセカンダリドメイン名を追加する2 番目...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

H5ゲームをnginxサーバーにデプロイする方法の詳細な説明

自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...

xshellを使用してLinuxサーバーに接続する

xshellを使用してLinuxに接続する利点Windows環境でLinuxを直接操作できるインター...

上下に空白行があるフォームを挿入する解決策

ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...

VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法

今日は、サンダーファイタータイピングゲームを実装します。ゲームプレイは非常に簡単です。それぞれの「敵...