安裝OpenResty(Nginx倉(cāng)庫(kù))
首先你的Linux虛擬機(jī)必須聯(lián)網(wǎng)
1)安裝開(kāi)發(fā)庫(kù)
首先要安裝OpenResty的依賴開(kāi)發(fā)庫(kù),執(zhí)行命令:
yum install -y pcre-devel openssl-devel gcc --skip-broken2)安裝OpenResty倉(cāng)庫(kù)
你可以在你的 CentOS 系統(tǒng)中添加 openresty 倉(cāng)庫(kù),這樣就可以便于未來(lái)安裝或更新我們的軟件包(通過(guò) yum check-update 命令)。運(yùn)行下面的命令就可以添加我們的倉(cāng)庫(kù):
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo如果提示說(shuō)命令不存在,則運(yùn)行:
yum install -y yum-utils然后再重復(fù)上面的命令
3)安裝OpenResty
然后就可以像下面這樣安裝軟件包,比如 openresty:
yum install -y openresty4)安裝opm工具
opm是OpenResty的一個(gè)管理工具,可以幫助我們安裝一個(gè)第三方的Lua模塊。
如果你想安裝命令行工具 opm,那么可以像下面這樣安裝 openresty-opm 包:
yum install -y openresty-opm5)目錄結(jié)構(gòu)
默認(rèn)情況下,OpenResty安裝的目錄是:/usr/local/openresty
看到里面的nginx目錄了嗎,OpenResty就是在Nginx基礎(chǔ)上集成了一些Lua模塊。
6)配置nginx的環(huán)境變量
打開(kāi)配置文件:
vi /etc/profile在最下面加入兩行:
export NGINX_HOME=/usr/local/openresty/nginxexport PATH=${NGINX_HOME}/sbin:$PATHNGINX_HOME:后面是OpenResty安裝目錄下的nginx的目錄
然后讓配置生效:
source /etc/profile2.啟動(dòng)和運(yùn)行
OpenResty底層是基于Nginx的,查看OpenResty目錄的nginx目錄,結(jié)構(gòu)與windows中安裝的nginx基本一致:
所以運(yùn)行方式與nginx基本一致:
# 啟動(dòng)nginxnginx# 重新加載配置nginx -s reload# 停止nginx -s stopnginx的默認(rèn)配置文件注釋太多,影響后續(xù)我們的編輯,這里將nginx.conf中的注釋部分刪除,保留有效部分。
修改/usr/local/openresty/nginx/conf/nginx.conf文件,內(nèi)容如下:
#user nobody;worker_processes 1;error_log logs/error.log;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfileon; keepalive_timeout 65; server {listen 8081;server_name localhost;location / { root html; index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html { root html;} }}在Linux的控制臺(tái)輸入命令以啟動(dòng)nginx:
nginx然后訪問(wèn)頁(yè)面:http://192.168.150.101:8081,注意ip地址替換為你自己的虛擬機(jī)IP:
3.備注
加載OpenResty的lua模塊:
#lua 模塊lua_package_path '/usr/local/openresty/lualib/?.lua;;';#c模塊 lua_package_cpath '/usr/local/openresty/lualib/?.so;;';common.lua
-- 封裝函數(shù),發(fā)送http請(qǐng)求,并解析響應(yīng)local function read_http(path, params) local resp = ngx.location.capture(path,{method = ngx.HTTP_GET,args = params, }) if not resp then-- 記錄錯(cuò)誤信息,返回404ngx.log(ngx.ERR, 'http not found, path: ', path , ', args: ', args)ngx.exit(404) end return resp.bodyend-- 將方法導(dǎo)出local _M = { read_http = read_http} return _M釋放Redis連接API:
-- 關(guān)閉redis連接的工具方法,其實(shí)是放入連接池local function close_redis(red) local pool_max_idle_time = 10000 -- 連接的空閑時(shí)間,單位是毫秒 local pool_size = 100 --連接池大小 local ok, err = red:set_keepalive(pool_max_idle_time, pool_size) if not ok thenngx.log(ngx.ERR, '放入redis連接池失敗: ', err) endend讀取Redis數(shù)據(jù)的API:
-- 查詢r(jià)edis的方法 ip和port是redis地址,key是查詢的keylocal function read_redis(ip, port, key) -- 獲取一個(gè)連接 local ok, err = red:connect(ip, port) if not ok thenngx.log(ngx.ERR, '連接redis失敗 : ', err)return nil end -- 查詢r(jià)edis local resp, err = red:get(key) -- 查詢失敗處理 if not resp thenngx.log(ngx.ERR, '查詢Redis失敗: ', err, ', key = ' , key) end --得到的數(shù)據(jù)為空處理 if resp == ngx.null thenresp = nilngx.log(ngx.ERR, '查詢Redis數(shù)據(jù)為空, key = ', key) end close_redis(red) return respend開(kāi)啟共享詞典:
# 共享字典,也就是本地緩存,名稱叫做:item_cache,大小150mlua_shared_dict item_cache 150m;p == ngx.null thenresp = nilngx.log(ngx.ERR, "查詢Redis數(shù)據(jù)為空, key = ", key)endclose_redis(red)return respend
開(kāi)啟共享詞典:```nginx# 共享字典,也就是本地緩存,名稱叫做:item_cache,大小150mlua_shared_dict item_cache 150m;到此這篇關(guān)于安裝OpenResty(Nginx倉(cāng)庫(kù))的文章就介紹到這了,更多相關(guān)OpenResty Nginx倉(cāng)庫(kù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. linux free命令以及系統(tǒng)內(nèi)存占用過(guò)高的處理方式2. Linux系統(tǒng)開(kāi)機(jī)無(wú)限重啟的解決方案3. Linux中如何將txt文件轉(zhuǎn)為png格式4. win server2012 r2服務(wù)器共享文件夾如何設(shè)置5. 關(guān)于Read-only file system問(wèn)題的解決6. Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案7. Tomcat starup.bat腳本開(kāi)機(jī)自啟動(dòng)的實(shí)現(xiàn)8. Tomcat進(jìn)程占用CPU過(guò)高的解決方法9. win11下FTP服務(wù)器搭建圖文教程10. windows server 2012 r2 服務(wù)器部署tp6 項(xiàng)目
