Saya mencoba mengkompilasi nginx dari sumber dengan modul SSL diaktifkan. Ketika saya menjalankan perintah ini:
./configure --with-http_ssl_module
ia melakukan pengecekan seperti biasa untuk melihat apakah semuanya diinstal dengan benar, dan kemudian ini muncul:
memeriksa pustaka OpenSSL ... tidak ditemukan
./configure: error: Modul SSL memerlukan pustaka OpenSSL. Anda bisa tidak mengaktifkan modul, atau menginstal pustaka OpenSSL ke dalam sistem, atau membangun pustaka OpenSSL secara statis dari sumber dengan nginx dengan menggunakan opsi --with-openssl =.
Saya tahu fakta bahwa OpenSSL diinstal, karena ketika saya melakukannya openssl version
saya dapatOpenSSL 1.0.1 14 Mar 2012
Jadi saya sangat bingung. Saya pikir mungkin OpenSSL tidak isntalled di lokasi default-nya, itulah sebabnya nginx tidak dapat menemukannya, tapi saya tidak tahu di mana ini karena ia datang pra-instal dengan server. Bagaimana saya bisa mengetahui di mana ini?
Server menjalankan Ubuntu 12.04 LTS.
Terima kasih.
Jawaban:
Kemungkinan besar Anda melewatkan
libssl-dev
paket itu.Tapi mengapa tidak menyelamatkan diri dari semua masalah dan hanya menggunakan PPA untuk nginx ?
sumber
apt-get
? Saya pikir cara terbaik untuk memastikan saya selalu mendapatkan versi terbaru dari perangkat lunak adalah dengan mengkompilasinya dari sumber dari situs web.libssl-dev
bekerja. :)Saya menggunakan yang berikut ini untuk mendapatkan openssl untuk nginx:
https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/
Semua upaya lain tidak berhasil, atau kikuk.
Semoga ini bisa membantu ...
sumber
--with-openssl=
bendera untuk menunjuk ke file sumber . Jika Anda ingin menautkan OpenSSL yang sudah dikompilasi / sistem yang nginx's./configure
tidak dapat menemukan, lihat posting forum ini :--with-cc-opt="-I /usr/local/include" --with-ld-opt="-L/usr/local/lib64 -ldl -Wl,-rpath,/usr/local/lib64"
(YMMV).Jika Anda ingin memeriksa apakah libssl diinstal di tempat yang tepat, Anda bisa mengetik
which openssl
dan kemudianldd /path/to/openssl
.sumber
Bahkan ketika OpenSSL sudah diinstal (
brew install openssl
), konfigurasikan sendiri menyarankan solusi, yang bekerja untuk saya:./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
--with-openssl=~/GitHub/openssl/openssl
sumber
--with-openssl=
menunjuk ke repo openssl github yang dikloning? Anda mungkin mempertimbangkan untuk mengedit jawaban Anda untuk mencerminkan hal ini karena dapat membingungkan bagi orang-orang tanpa pemahaman yang memadai.Jika ada yang masih menghadapi masalah mengkompilasi nginx dari sumber dengan kesalahan terkait pcre, kompilasi dengan atribut "--with-pcre". Dan untuk menyediakan jalur pcre, jangan berikan jalur yang diinstal. Menyediakan jalur perangkat lunak PCre.
Kemudian, berikan jalur jalur sumber PCre.
Dalam kasus saya,
Terima kasih.
sumber