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

WBOY
リリース: 2023-05-22 08:46:05
転載
1282 人が閲覧しました

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

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:bash;">./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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!