SSLモジュールを有効にしてソースからnginxをコンパイルしようとしています。このコマンドを実行すると:
./configure --with-http_ssl_module
すべてが正しくインストールされているかどうかを確認するために通常のチェックを行い、次にポップアップします。
openSSLライブラリをチェックしています...見つかりません
./configure:エラー:SSLモジュールにはOpenSSLライブラリが必要です。モジュールを有効にしないか、OpenSSLライブラリをシステムにインストールするか、-with-openssl =オプションを使用してnginxを使用してソースからOpenSSLライブラリを静的に構築できます。
OpenSSLがインストールされているという事実は知っています。なぜなら、openssl version
を実行すると、OpenSSL 1.0.1 14 Mar 2012
が得られるからです。
だから私はかなり困惑しています。 OpenSSLがデフォルトの場所にインストールされていないのではないかと思ったので、nginxはそれを見つけることができませんが、サーバーにプリインストールされているため、これがどこにあるのかわかりません。これがどこにあるのか、どうしたらわかりますか?
サーバーはUbuntu 12.04 LTSを実行しています。
ありがとう。
おそらくlibssl-dev
パッケージ。
しかし、すべての問題を自分で救い、 nginxのPPA を使用しないのはなぜですか?
以下を使用して、nginxのopensslを取得しました。
https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/
他のすべての試みはうまくいかなかったか、不格好でした。
これが別の助けになることを願っています...
Libsslが正しい場所にインストールされていることを確認する場合は、which openssl
を入力してからldd /path/to/openssl
を入力します。
OpenSSLがすでにインストールされている場合でも(brew install openssl
)、configure自体が回避策を提案しています。
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
--with-openssl=~/GitHub/openssl/openssl
ソースからnginxをコンパイルしてpcre関連のエラーが発生する問題がまだ発生している場合は、「-with-pcre」属性を指定してコンパイルしてください。また、pcreパスを提供するために、インストールされたパスを提供しないでください。 PCREソフトウェアパスを指定します。
。/構成、設定
make
Sudo make install
次に、pcreソースパスのパスを指定します。
./configure --prefix=/path/to/nginxToBeInstalled/mayBeInOpt/nginx-1.16.0/ --with-openssl=/path/to/installed/openssl-1.1.1b/ --with-pcre=/path/to/your/downloaded/extracted/pcre-8.42
私の場合、
./configure --prefix=/opt/nginx-1.16.0/ --with-openssl=/opt/openssl-1.1.1b/ --with-pcre=/media/username/personal/Software/pcre-8.42
ありがとうございました。