システム バイナリ ソース メソッドを使用してインストールします
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.gzzlib gzip 圧縮モジュールをダウンロード
wget https://zlib.net/zlib-1.2.11.tar.gzダウンロード nginx
wget http://nginx.org/download/nginx-1.17.1.tar.gztar を使用しますすべてのファイルを解凍するには
ls *.tar.gz | xargs -n1 tar xzvf
コンパイル オプション
参数 | 描述 |
---|---|
–prefix=98953a78f52873edae60a617ec082494 | nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx |
–sbin-path=7988e5ef09cb060996e437e0d2342881/sbin/nginx | |
–conf-path=98953a78f52873edae60a617ec082494 | nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:aac119f8a3a563a827b4e4c50481b4e7 conf / nginx.conf-c 2334ac29606bf8a170583e4f7533b1f4 |
–pid-path=98953a78f52873edae60a617ec082494 | nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/nginx.pid |
–error-log-path=98953a78f52873edae60a617ec082494 | error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/error.log |
–http-log-path=98953a78f52873edae60a617ec082494 | http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:aac119f8a3a563a827b4e4c50481b4e7 /logs/access.log |
–user=8a11bc632ea32a57b3e3693c7987c420 | nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody |
–group=name | nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值 |
–with-pcre=98953a78f52873edae60a617ec082494 | pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的 |
–with-pcre-jit | 使用“即时编译”支持(pcre_jit指令)构建pcre库 |
–with-zlib=98953a78f52873edae60a617ec082494 | zlib库的源代码路径,gzip模块需要该路径 |
–with-http_ssl_modul | 启用https支持 |
–with-http_v2_module | 开启 http/2请求支持 |
还要太多编译参数我就不一一列举,有兴趣的同学可以自己去
参看
编译安装
./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 サイトの他の関連記事を参照してください。