- OpenResty完全開發(fā)指南:構(gòu)建百萬級別并發(fā)的Web應(yīng)用
- 羅劍鋒
- 987字
- 2019-07-25 11:55:04
1.5 安裝
OpenResty主要以源碼的方式發(fā)布,可以在多種操作系統(tǒng)上編譯和運行,例如Linux、FreeBSD、macOS、Windows等,源碼可以從官網(wǎng)直接下載(www.openresty.org)。
當然,從源碼編譯安裝還是比較麻煩的,不利于企業(yè)大規(guī)模的部署,OpenResty也對某些主流操作系統(tǒng)提供了預(yù)編譯包,只需要很簡單的操作即可完成安裝,無須編譯源碼的長時間等待。如果使用docker,更可以直接從Docker Hub上拉取現(xiàn)成的鏡像。
但本書還是推薦以源碼的方式安裝OpenResty,不僅能夠支持任意操作系統(tǒng),更可以更靈活地定制所需的功能。
1.5.1 直接安裝
本節(jié)簡要敘述OpenResty在Linux、Windows和Docker上的安裝方式。
Linux
OpenResty可以在Linux系的Ubuntu/Debian、CentOS/Fedora/RHEL等系統(tǒng)里直接安裝,具體的方法可參見官網(wǎng)。
以Ubuntu為例,需執(zhí)行下面的幾條命令:
#導(dǎo)入GPG key wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add - #安裝命令add-apt-repository sudo apt-get -y install software-properties-common #添加OpenResty官方源 sudo add-apt-repository -y \ "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" #更新源 sudo apt-get update #開始安裝OpenResty sudo apt-get install openresty OpenResty會默認安裝到“/usr/local/openresty/”目錄下。
Windows
對于Windows系統(tǒng),OpenResty提供兩個zip包,里面是全套編譯好的Win32/Win64可執(zhí)行程序,解壓后即可使用,非常方便。
由于Windows系統(tǒng)的原因,運行在Windows上的OpenResty的性能和穩(wěn)定性沒有Linux上的高,所以建議Windows版的OpenResty僅用于學(xué)習(xí)和測試,最好不要用于正式的生產(chǎn)環(huán)境(如果對性能和穩(wěn)定性要求不高則另當別論)。
Docker
Docker用戶安裝OpenResty是最簡單的,用命令“docker pull openresty/openresty”就可以獲取打包好的鏡像。
1.5.2 源碼安裝
以源碼的方式安裝OpenResty有一些編譯依賴,需要系統(tǒng)里有C編譯器(通常是gcc)、Perl、libpcre、libssl等,可以使用apt-get或者yum等工具安裝,例如:
apt-get install gcc libpcre3-dev \ #安裝gcc等編譯依賴 libssl-dev perl make build-essential
之后我們就可以從官網(wǎng)上下載源碼壓縮包,解壓后執(zhí)行configure再make編譯:
wget https://openresty.org/download/openresty-1.13.6.2.tar.gz tar xvfz openresty-1.13.6.2.tar.gz #解壓縮 cd openresty-1.13.6.2 #進入源碼目錄 ./configure #編譯前的配置工作 make #編譯 sudo make install #安裝
與直接安裝相同,OpenResty也會默認安裝到“/usr/local/openresty/”目錄下。
為了方便使用,建議在“~/.bashrc”文件里把安裝目錄添加到環(huán)境變量PATH:
export PATH=/usr/local/openresty/bin:$PATH
1.5.3 定制安裝
使用源碼安裝OpenResty有一個好處:可以在編譯前的configure時指定各種配置選項,如編譯參數(shù)、安裝目錄、添加或刪除功能組件等,讓OpenResty更符合我們的實際需要。不過這屬于OpenResty比較高級的特性,通常默認的配置就足夠了。
使用參數(shù)“--help”可以列出configure的詳細說明,為節(jié)省篇幅這里不一一列出(也無必要)。下面僅舉一個小例子,把OpenResty安裝到“/opt/openresty”目錄,啟用HTTP2和真實IP功能,禁用FastCGI和SCGI, OpenSSL使用1.0.2k:
./configure #編譯前的配置工作 --prefix=/opt/openresty \ #指定安裝到/opt/openresty目錄下 --with-http_v2_module \ #支持HTTP2 --with-http_realip_module \ #反向代理時可轉(zhuǎn)發(fā)客戶端真實IP地址 --without-http_fastcgi_module \ #不使用fastcgi --without-http_scgi_module \ #不使用scgi --with-openssl="path/to/openssl-1.0.2k" #使用OpenSSL 1.0.2k
更深入地定制OpenResty需要學(xué)習(xí)Nginx相關(guān)的知識,讀者可參考附錄A的推薦書目[5]以及附錄B。
- HTML5+CSS3+JavaScript從入門到精通:上冊(微課精編版·第2版)
- Designing Machine Learning Systems with Python
- 深入實踐Spring Boot
- 跟小海龜學(xué)Python
- Apache Spark 2 for Beginners
- Silverlight魔幻銀燈
- Getting Started with Gulp
- C語言程序設(shè)計上機指導(dǎo)與習(xí)題解答(第2版)
- WordPress 4.0 Site Blueprints(Second Edition)
- Microsoft Azure Storage Essentials
- SQL 經(jīng)典實例
- uni-app跨平臺開發(fā)與應(yīng)用從入門到實踐
- Instant Apache Camel Messaging System
- AutoCAD基礎(chǔ)教程
- Python編程入門(第3版)