ホームページ 運用・保守 Nginx Linux での Nginx インストール例の分析

Linux での Nginx インストール例の分析

May 22, 2023 am 08:46 AM
linux nginx

システム バイナリ ソース メソッドを使用してインストールします

ubuntu/debian システム

sudo apt-get install nginx
ログイン後にコピー

またはredhat/centos システム

sudo yum install nginx
ログイン後にコピー

この方法は最も簡単で最速の方法ですが、最良の方法ではありません。この主な問題については以下で説明します。

利点

  • インストール バイナリの依存関係はすべて処理されており、互換性の問題を心配する必要はなく、そのまま使用できます

  • nginx の接続設定とユーザー権限を扱う必要はありません。これはすでに書かれています。

  • やめてください。 nginx のバグ メンテナンスやアップグレードの問題を心配する必要はありません。最新のシステムを直接入手してください。それだけです。

  • アンインストールは簡単で、コマンド 1 つだけです。

  • 簡単なログです。メンテナンス、その日のログを自動的に切り捨て、圧縮して保存

欠点

  • インストールされているバージョンを選択できません

  • コンパイルされたモジュールを個別に選択することはできません

  • 拡張関数は非常に面倒になるため、再コンパイルする必要があります

  • ディレクトリ構造は複雑で、構成ファイルは /etc/ の下にあり、デプロイメント ファイルは /var/www

  • サービスの再起動と構成の変更には root 権限が必要です

  • パフォーマンスがわずかに低下しますコンパイルしてインストールします

Linux 初心者の場合は、このインストール方法を使用することを強くお勧めします。コンパイルの依存関係を考慮するため、インストール後に直接使用できます。ただし、サーバーが実稼働環境で使用されており、開発中で徐々に改善されている場合には、この方法はお勧めできません。サードパーティのモジュールは将来追加される可能性があり、その時点でコンパイルしてインストールする必要があります (後述)。サーバーを再起動するときは、root ユーザーを使用せず、sudo を使用して一時的に root を取得します。サーバーがいくつかの静的ファイル (主に一部の Web スペース用) をデプロイするために使用されており、通常はファイルのデプロイに FTP ツールを使用する場合、この方法には間違いなく問題はありません。

コンパイルとインストール

利点と欠点については書きませんが、基本的には上記の逆を実行するだけです。この方法を使用してインストールするには、Linux のコンパイルに関する知識が少し必要ですが、これを制御できるのは中程度の Linux ユーザーのみです。インターネット上のほとんどのチュートリアルでは、コンパイルの依存関係が /usr/local/ に直接インストールされていることがわかりましたが、この方法は適切ではありません。将来、これらの依存関係をアンインストールしたい場合、非常に面倒になるでしょう。カテゴリ直下で削除することはできません。一部の Linux ディストリビューションでは、インストール ファイルが設定ファイルに書き込まれます。これらの設定ファイルがどこにあるのかわかりません。依存バージョンが他のソフトウェアに影響を与える場合、バージョンの問題にどう対処するか。 nginx をインストールしたかっただけですが、多くの問題が発生しました。

コンパイル環境の準備

始める前に、Linux に gcc、make、wget、g ソフトウェアが準備されていることを確認してください。

ダウンロードしたファイルを保存するカテゴリを作成し、依存ライブラリのソース ファイルをダウンロードするディレクトリを入力します

openssl のダウンロードは、主に ssl モジュール暗号化に使用され、https

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
ログイン後にコピー
# をサポートします。 # #pcre をダウンロードして、アドレス リダイレクト、アドレス書き換え関数、ローケーション命令、正規表現のサポートを実装します

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
ログイン後にコピー

zlib gzip 圧縮モジュールをダウンロード

wget https://zlib.net/zlib-1.2.11.tar.gz
ログイン後にコピー

ダウンロード nginx

wget http://nginx.org/download/nginx-1.17.1.tar.gz
ログイン後にコピー

tar を使用しますすべてのファイルを解凍するには

ls *.tar.gz | xargs -n1 tar xzvf
ログイン後にコピー

コンパイル オプション

./configure を使用して、ソース ファイルと構成ファイルへのパス、コンパイラ オプションなど、さまざまな nginx パラメータ スクリプトを設定します。 、リンケージの処理方法とモジュールのリスト。スクリプトは、コードをコンパイルし、nginx オープン ソースをインストールするために必要な makefile を作成することでこれを行います。

参数描述
–prefix=nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=nginx二进制执行文件的名称,默认值:/sbin/nginx</td></tr><tr><td>–conf-path=<path></td><td>nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:<prefix> conf / nginx.conf-c <filename></td></tr><tr><td>–pid-path=<path></td><td>nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:<prefix> /logs/nginx.pid</td></tr><tr><td>–error-log-path=<path></td><td>error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:<prefix> /logs/error.log</td></tr><tr><td>–http-log-path=<path></td><td>http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:<prefix> /logs/access.log</td></tr><tr><td>–user=<name></td><td>nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody</td></tr><tr><td>–group=name</td><td>nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值</td></tr><tr><td>–with-pcre=<path></td><td>pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的</td></tr><tr><td>–with-pcre-jit</td><td>使用“即时编译”支持(pcre_jit指令)构建pcre库</td></tr><tr><td>–with-zlib=<path></td><td>zlib库的源代码路径,gzip模块需要该路径</td></tr><tr><td>–with-http_ssl_modul</td><td>启用https支持</td></tr><tr><td>–with-http_v2_module</td><td>开启 http/2请求支持</td></tr></tbody></table><p >还要太多编译参数我就不一一列举,有兴趣的同学可以自己去<br/></p><p >参看</p><p >编译安装<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>./configure \ --with-openssl=../openssl-1.0.2s \ --with-pcre=../pcre-8.43 \ --with-zlib=../zlib-1.2.11 \ --with-pcre-jit --user=admin \ --prefix=/home/admin/nginx \ --with-http_ssl_module \ --with-http_v2_module
ログイン後にコピー

输出以下信息,说明依赖没问题

configuration summary
 + using pcre library: ../pcre-8.43
 + using openssl library: ../openssl-1.0.2s
 + using zlib library: ../zlib-1.2.11
 
 nginx path prefix: "/home/admin/nginx"
 nginx binary file: "/home/admin/nginx/sbin/nginx"
 nginx modules path: "/home/admin/nginx/modules"
 nginx configuration prefix: "/home/admin/nginx/conf"
 nginx configuration file: "/home/admin/nginx/conf/nginx.conf"
 nginx pid file: "/home/admin/nginx/logs/nginx.pid"
 nginx error log file: "/home/admin/nginx/logs/error.log"
 nginx http access log file: "/home/admin/nginx/logs/access.log"
 nginx http client request body temporary files: "client_body_temp"
 nginx http proxy temporary files: "proxy_temp"
 nginx http fastcgi temporary files: "fastcgi_temp"
 nginx http uwsgi temporary files: "uwsgi_temp"
 nginx http scgi temporary files: "scgi_temp"
ログイン後にコピー

编译

make
ログイン後にコピー

安装

make install
ログイン後にコピー

设置权限

因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。

sudo chown root nginx
sudo chmod u+s nginx
ログイン後にコピー

以上がLinux での Nginx インストール例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

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

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

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

vscodeはMacに使用できますか vscodeはMacに使用できますか Apr 15, 2025 pm 07:36 PM

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

vscodeの使用方法 vscodeの使用方法 Apr 15, 2025 pm 11:21 PM

Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

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

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

VSCODE前の次のショートカットキー VSCODE前の次のショートカットキー Apr 15, 2025 pm 10:51 PM

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

See all articles