學習ngx_openresty之openresty安裝 一

來源:互聯網
上載者:User
學習ngx_openresty之openresty安裝 一

OpenResty (也稱為 ngx_openresty)是一個全功能的 Web 應用程式伺服器。它打包了標準的 Nginx 核心,很多的常用的第三方模組,以及它們的大多數依賴項。

 通過眾多進行良好設計的 Nginx 模組,OpenResty 有效地把 Nginx 伺服器轉變為一個強大的 Web 應用程式伺服器,基於它開發人員可以使用 Lua 程式設計語言對 Nginx 核心以及現有的各種 Nginx C 模組進行指令碼編程,構建出可以處理一萬以上並發請求的極端高效能的 Web 應用程式。

 OpenResty 致力於將你的伺服器端應用完全運行於 Nginx 伺服器中,充分利用 Nginx 的事件模型來進行非阻塞 I/O 通訊。不僅僅是和 HTTP 用戶端間的網路通訊是非阻塞的,與MySQL、PostgreSQL、Memcached、以及 Redis 等眾多遠方後端之間的網路通訊也是非阻塞的。

 因為 OpenResty 軟體包的維護者也是其中打包的許多 Nginx 模組的作者,所以 OpenResty 可以確保所包含的所有組件可以可靠地協同工作。

 給幾個連結地址瞭解下它的功能強大之處:



https://openresty.org

https://github.com/SinaMSRE/ABTestingGateway

https://www.gitbook.com/book/moonbingbing/openresty-best-practices/details


其實編譯安裝很簡單,只要把OpenResty需要的依賴包安裝好就可以。

linux系統centos伺服器版本:安裝依賴:

yum install readline-devel pcre-devel openssl-devel gcc
解壓下載的壓縮檔。
./configure

make
make install

mac系統下,我碰到的就是OpenSSL不太好裝

不過還好,有人開發了homebrew包管理工具。http://brew.sh

請自行下載安裝。

安裝步驟:

brew update
brew install openssl
brew link --force openssl

看下版本:
openssl version -a

參考:http://apple.stackexchange.com/questions/126830/how-to-upgrade-openssl-in-os-x


mac系統下預設安裝路徑:/usr/local/openresty


為了方便配置和起停nginx,寫了幾個方便的指令碼:



為了方便管理nginx的設定檔,把nginx的配置放到  ~/etc/nginx 目錄:

在該目錄下放的輔助啟動停止指令碼內容:


啟動nginx指令碼:

#! /bin/bash
/usr/local/openresty/nginx/sbin/nginx   -p ~/etc/nginx -c ~/etc/nginx/nginx.conf


停止指令碼:

#! /bin/bash
/usr/local/openresty/nginx/sbin/nginx -s quit  -p ~/etc/nginx -c ~/etc/nginx/nginx.conf


重新載入配置:

#! /bin/bash
/usr/local/openresty/nginx/sbin/nginx -s reload  -p ~/etc/nginx -c ~/etc/nginx/nginx.conf


~/etc/nginx/nginx.conf 設定檔做了一些改動:



#user  nobody;
worker_processes  1;


#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;


pid        logs/nginx.pid;




events {
    worker_connections  1024;
}




http {
     
    include       lua.conf;

}


把配置挪到了lua指令檔中:

內容:

server {
        listen       8080;
        server_name  localhost;


        location /lua {  
                default_type 'text/html';  
                 
                content_by_lua 'ngx.say("hello doctor " )';  
        }


        location /p {  
                 
                  rewrite_by_lua_file luascript/rout.lua;
        }


 }


測試下,運行指令碼前請自動改動之行許可權:

訪問結果:


是不是可以運行了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.