您的位置:首页 > 运维架构 > Nginx

1 安装OpenResty(Nginx+Lua)开发环境

2017-08-03 22:34 525 查看
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。

创建目录/usr/servers,以后我们把所有软件安装在此目录

mkdir -p /usr/servers
cd /usr/servers/


安装依赖(我的环境是ubuntu,可以使用如下命令安装,其他的可以参考openresty安装步骤)

apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl


下载ngx_openresty-1.7.7.2.tar.gz并解压

wget http://openresty.org/download/ngx_openresty-1.7.7.2.tar.gz tar -xzvf ngx_openresty-1.7.7.2.tar.gz


安装LuaJIT

cd bundle/LuaJIT-2.1-20150120/
make clean && make && make install
ln -sf luajit-2.1.0-alpha /usr/local/bin/luajit


下载ngx_cache_purge模块,该模块用于清理nginx缓存

cd /usr/servers/ngx_openresty-1.7.7.2/bundle
wget https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz tar -xvf 2.3.tar.gz


下载nginx_upstream_check_module模块,该模块用于ustream健康检查

cd /usr/servers/ngx_openresty-1.7.7.2/bundle
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz tar -xvf v0.3.0.tar.gz


安装ngx_openresty

cd /usr/servers/ngx_openresty-1.7.7.2
./configure --prefix=/usr/servers --with-http_realip_module  --with-pcre  --with-luajit --add-module=./bundle/ngx_cache_purge-2.3/ --add-module=./bundle/nginx_upstream_check_module-0.3.0/ -j2

本机安装pcre、zlib和openssl。要不然报错了
yum install zlib-devel
yum -y install perl-devel perl-ExtUtils-Embed

./configure --prefix=/usr/local/pcre-8.41 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
make && make install

./configure --prefix=/usr/servers --with-pcre=/usr/servers/pcre-8.41 --with-openssl=/usr/servers/openssl     --with-http_realip_module    --with-luajit --add-module=./bundle/ngx_cache_purge-2.3/ --add-module=./bundle/nginx_upstream_check_module-0.3.0/ -j2

make && make install


–with*** 安装一些内置/集成的模块

–with-http_realip_module 取用户真实ip模块

-with-pcre Perl兼容的达式模块

–with-luajit 集成luajit模块

–add-module 添加自定义的第三方模块,如此次的ngx_che_purge

cd /usr/servers/

会发现多出来了如下目录,说明安装成功

/usr/servers/luajit :luajit环境,luajit类似于java的jit,即即时编译,lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能;

/usr/servers/lualib:要使用的lua库,里边提供了一些默认的lua库,如redis,json库等,也可以把一些自己开发的或第三方的放在这;

/usr/servers/nginx :安装的nginx;

通过/usr/servers/nginx/sbin/nginx -V 查看nginx版本和安装的模块

7、启动nginx

/usr/servers/nginx/sbin/nginx

接下来该配置nginx+lua开发环境了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua