Nginx を素早くセットアップし、基本パラメータを設定する
この記事では、Nginx を簡単にセットアップするための構成とその基本的なパラメーターを主に紹介します。これには一定の参考値があります。ここで共有します。必要な友人は参照してください。
簡単なセットアップと基本Nginx パラメータの説明
1. Nginx の概要
1. Nginx の簡単な説明
Nginx は、オープンソース、高性能、信頼性の高い HTTP ミドルウェアおよびプロキシ サービスです。
2. 一般的な HTTP サービス
httpd - Apache
IIS - Microsoft
- GWE - Google
- tomcat - Sun
IO 多重化とは
複数のディスクリプタの I/O 操作を 1 つのスレッド内で同時に交互に実行することができ、これを I/O 多重化と呼びます。ここでの「多重化」とは、同じスレッドを再利用することを指します。epoll とは
IO 多重化の実装方法: select、poll、epollselect
基本原則: select 関数によって監視されるファイル記述子は、writefds、readfds、およびExceptfds という 3 つのカテゴリに分類されます。呼び出し後、select 関数は、記述子の準備ができる (データが読み取り可能、書き込み可能、または除外される) か、タイムアウトするまでブロックされます (タイムアウトは待ち時間を指定し、すぐに戻る場合は null に設定できます)。関数が戻ります。 select 関数が返されると、fdset をトラバースすることで準備完了の記述子を見つけることができます。
select 欠点: 1. 監視できるファイル記述子の数には最大制限があります。
2. リニアスキャンは非効率的です。
epoll
基本原則: epoll は水平トリガーとエッジ トリガーをサポートしています。最大の機能はエッジ トリガーです。 process どの fd が準備ができたばかりで、一度だけ通知されます。もう 1 つの特徴は、epoll が「イベント」準備通知メソッドを使用して、epoll_ctl を通じて fd を登録することです。fd の準備が完了すると、カーネルはコールバックのようなコールバック メカニズムを使用して fd をアクティブ化し、epoll_wait が通知を受信できるようになります。
epoll の利点: 1. 最大同時接続数に制限がなく、開くことができる FD の上限は 1024 (1G のメモリ) よりはるかに大きくなります。約100,000ポートを監視できます)。
2. 効率が向上します ポーリング方式ではないので、FD の数が増えても効率が低下することはありません。
3. メモリ コピー: mmap() ファイル マッピング メモリを使用して、カーネル スペースでのメッセージ パッシングを高速化します。つまり、epoll は mmap を使用してコピーのオーバーヘッドを削減します。
機能モジュールの削減
コードのモジュール化
3. CPU アフィニティ (アフィニティ) ) は良いですCPU アフィニティ (アフィニティ) は、CPU コアを Nginx ワーカー プロセスにバインドする方法で、各ワーカー プロセスを 1 つの CPU で実行するように修正し、CPU キャッシュ ミスを減らしてパフォーマンスを向上させます。4. sendfile
3. Nginx (CentOS7) の簡単なセットアップと基本パラメータ
1. yum のインストール[参考]
作成 /etc/yum.repos.d/nginx.repo
ファイルに次の内容を入力します。
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1
OS
オプションの値はcentos
です。そしてrhel
。OSRELEASE
はシステムのバージョンです。たとえば、6
と7
はそれぞれバージョン 6.x と 7.x を表します。
実行yum install -y nginx
nginxをインストール
実行nginx -v
nginxのバージョンを確認
[root~]# nginx -v nginx version: nginx/1.14.0
2. コンパイル パラメーターの詳細な説明
nginx インストール中のコンパイル パラメーターの表示
nginx -V
[root~]# nginx -V nginx version: nginx/1.14.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
インストールとコンパイルの詳細な説明パラメータ [参考]
コンパイルオプション | Function |
---|---|
##--prefix =/etc/nginx
| 設定ファイルのディレクトリ|
--sbin-path=/usr/sbin/nginx | 実行可能ファイル名とディレクトリ|
nginx Dynamics モジュールのインストール ディレクトリ |
|
メイン設定ファイル名とディレクトリ |
|
グローバル エラー ログ ファイル名とディレクトリ |
|
HTTP のメインリクエストログファイルの名前サーバーとディレクトリ |
|
nginx.pid ディレクトリ。これはstorage メインプロセスのプロセス ID ファイル |
|
ディレクトリここで nginx.ロックが見つかりました |
|
--http -proxy-temp -path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http -uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp 対応するモジュールの実行時に nginx によって保持される一時ファイル |
|
--group =nginx Nginx プロセス起動用のユーザーとユーザー グループを設定します
|
|
ディレクトリからランダムに選択 ランダムなホームページ |
|
Nginx クライアント ステータス |
|
HTTP コンテンツの置換 |
##--with-cc-opt= |
|
--with-ld-opt= |
|
3. インストール ディレクトリの詳細説明 |
rpm -ql nginx
ログイン後にコピー
[root~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
/etc/nginx/mime.types
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/etc/nginx/modules
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
ログイン後にコピー
rpm -ql nginx
[root~]# rpm -ql nginx /etc/logrotate.d/nginx /etc/nginx /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/conf.d/default.conf /etc/nginx/fastcgi_params /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf /etc/nginx/mime.types /etc/sysconfig/nginx /etc/sysconfig/nginx-debug /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /usr/lib64/nginx /usr/lib64/nginx/modules /etc/nginx/modules /usr/sbin/nginx /usr/sbin/nginx-debug /usr/share/doc/nginx-1.14.0 /usr/share/doc/nginx-1.14.0/COPYRIGHT /usr/share/man/man8/nginx.8.gz /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html /var/cache/nginx /var/log/nginx /usr/libexec/initscripts/legacy-actions/nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload /usr/libexec/initscripts/legacy-actions/nginx/upgrade
デフォルトのパス
##/ etc/logrotate.d/nginx | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#logrotate サービスのログ切断に使用される Nginx ログ ローテーション
|
## /etc/nginx | /etc/nginx/nginx.conf | ||||||||||||||||||
/etc/nginx/conf.d
/etc/nginx /conf.d/default.conf
ディレクトリ、設定ファイル nginx メイン設定ファイル
| #/etc/nginx /fastcgi_params/etc/nginx/uwsig_params | |||||||||||||||||||
設定ファイルcgi 設定関連、fastcgi 設定 ##/etc/nginx/koi-utf |
/etc/nginx/ koi-win | |||||||||||||||||||
#設定ファイル##エンコーディング変換マッピング変換ファイル #/etc/nginx/mime.types 設定ファイル |
Content-Typeとhttpプロトコルの拡張子の対応関係を設定します | |||||||||||||||||||
/usr/lib/systemd/system/nginx.service | /etc/sysconfig/nginx | |||||||||||||||||||
設定ファイル は設定に使用されます。システムデーモンマネージャーの管理方法
/usr/lib64/nginx/modules /etc/nginx/mudules |
ディレクトリ | Nginxモジュールディレクトリ | ||||||||||||||||||
/usr/sbin/nginx /usr/sbin/nginx- debug |
Command | Nginx サービスの起動管理用ターミナル コマンド | ||||||||||||||||||
/usr/share/doc/nginx-1.14 .0 /usr/share/doc/nginx-1.14.0/COPYRIGHT |
/usr/share/man/man8/nginx.8.gz | |||||||||||||||||||
Nginx マニュアルとヘルプ ファイル
#/var/cache/nginx ディレクトリ
| Nginx キャッシュ ディレクトリ||||||||||||||||||||
ディレクトリ | Nginx ログディレクトリ # |
##説明 | # #nginx [-c |
---|---|
nginx -s quit |
nginx を通常どおり停止すると、Nginx は終了する前に受け入れられた接続要求を完了します。 |
nginx -s stop |
処理中のリクエストがあるかどうかに関係なく、nginx を迅速に停止します。 |
#nginx -s reload [-c <構成ファイル>]
| 構成ファイルのリロード|
ログ ファイルを再度開きます |
|
Viewバージョン |
|
インストール中にコンパイルパラメータを表示します |
|
設定ファイルの構文が正しいかどうかを確認します |
|
コマンドは、変更された構成ファイルをロードします。コマンドの発行後、次のイベントが発生します。
|
Nginx は新しいワーカー プロセスを開始し、新しい構成ファイルを使用します
Nginx は新しいリクエストを新しいワーカー プロセスに割り当てますnginx を使用する1 台のサーバーに複数の Web サーバーを展開する
Nginx は、次からのすべてのリクエストを待ちます前のワーカー プロセスに戻り、関連するワーカー プロセスを閉じます
古いワーカー プロセスがすべて閉じるまで上記のプロセスを繰り返します
- 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。 役立つと思います。関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
- 関連する推奨事項:
Nginx ロード スケジューラのデュアル Tomcat ロードとセッション共有 MySQL バックエンド データベース
以上がNginx を素早くセットアップし、基本パラメータを設定するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

VSコードは、Microsoftが開発した無料のオープンソースクロスプラットフォームコードエディターと開発環境であるフルネームVisual Studioコードです。幅広いプログラミング言語をサポートし、構文の強調表示、コード自動完了、コードスニペット、および開発効率を向上させるスマートプロンプトを提供します。リッチな拡張エコシステムを通じて、ユーザーは、デバッガー、コードフォーマットツール、GIT統合など、特定のニーズや言語に拡張機能を追加できます。 VSコードには、コードのバグをすばやく見つけて解決するのに役立つ直感的なデバッガーも含まれています。

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。
