nginx 설치 lua 확장
6023 단어 nginx lua
다음은 nginx 를 설정 하여 lua 를 지원 합 니 다. nginx 모듈 을 통 해 이 루어 집 니 다.
모듈 주소: https://github.com/chaoslawful/lua-nginx-module
다운로드 링크: https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.10.tar.gz
1. 소스 코드 다운로드, 압축 풀기
a. nginx 소스 코드:
1
2
[root@localhost ~]
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
[root@localhost ~]
# tar zxvf nginx-1.4.2.tar.gz
b. lua 모듈
1
2
[root@localhost ~]# wget -O lua-nginx-module-
0.8
.
10
.tar.gz https:
//github.com/chaoslawful/lua-nginx-module/archive/v0.8.10.tar.gz
[root@localhost ~]# tar zxvf lua-nginx-module-
0.8
.
10
.tar.gz
c. luajit (lua 인 스 턴 트 컴 파일 러)
1
2
[root@localhost ~]# wget http:
//luajit.org/download/LuaJIT-2.0.2.tar.gz
[root@localhost ~]# tar zxvf LuaJIT-
2.0
.
2
.tar.gz
d、ngx_devel_kit (nginx 개발 키 트)
1
2
[root@localhost ~]
# wget -O ngx_devel_kit-0.2.18.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz
[root@localhost ~]
# tar zxvf ngx_devel_kit-0.2.18.tar.gz
e. echo - nginx (사용자 개발 디 버 깅 출력)
[root@localhost ~]
# wget -O echo-nginx.zip https://github.com/openresty/echo-nginx-module/archive/v0.55.zip
[root@localhost ~]
# unzip echo-nginx.zip
2, 설치 luajit
1
2
[root@localhost ~]
# make
[root@localhost ~]
# make install
3. nginx 설치
방법 a, luajit 인 스 턴 트 컴 파일 러 사용
1
2
3
4
5
6
7
8
9
10
11
[root@localhost nginx-1.4.1]
# export LUAJIT_LIB=/usr/local/lib
[root@localhost nginx-1.4.1]
# export LUAJIT_INC=/usr/local/include/luajit-2.0
[root@localhost nginx-1.4.1]
# ./configure \
--prefix=
/usr/local/nginx-1
.4.1 \
--with-http_stub_status_module \
--add-module=..
/lua-nginx-module-0
.8.9 \
--add-module=..
/ngx_devel_kit-0
.2.18
[root@localhost nginx-1.4.1]
# make -j 4
[root@localhost nginx-1.4.1]
# make install
[root@localhost ~]
# echo '/usr/local/lib' >> /etc/ld.so.conf.d/lua.conf
[root@localhost ~]
# ldconfig
방법 b, lua 컴 파일 러 사용
메모: lua 컴 파일 러 를 사용 하려 면 lua 실행 환경 을 먼저 설치 해 야 합 니 다. 일반적인 시스템 은 모두 미리 설치 되 어 있 습 니 다. 미리 설치 되 어 있 지 않 으 면 yum 으로 설치 할 수 있 습 니 다. 다음 과 같 습 니 다.
1
[root@localhost ~]
# yum install lua lua-devel
설치 nginx:
1
2
3
4
5
6
7
8
9
[root@localhost nginx-1.4.1]
# export LUA_LIB=/usr/lib64
[root@localhost nginx-1.4.1]
# export LUA_INC=/usr/include
[root@localhost nginx-1.4.1]
# ./configure \
--prefix=
/usr/local/nginx-1
.4.1 \
--with-http_stub_status_module \
--add-module=..
/lua-nginx-module-0
.8.9 \
--add-module=..
/ngx_devel_kit-0
.2.18
--add-module=../echo-nginx
[root@localhost nginx-1.4.1]
# make -j 4
[root@localhost nginx-1.4.1]
# make install
메모: nginx 로 하여 금 lua 를 지원 하 게 하 는 두 가지 방법 이 있 습 니 다. 하 나 는 luajit 인 스 턴 트 컴 파일 러 를 사용 하 는 것 이 고, 다른 하 나 는 lua 컴 파일 러 를 사용 하 는 것 입 니 다.효율 이 높 기 때문에 luajit 를 추천 합 니 다.그 중 ngxdevel_kit 의 역할 은 두 가지 가 있 습 니 다. 하 나 는 개발 용 입 니 다. 다른 하 나 는 오류 로그 에 nginx 처리 단계 정보 (rewrite phase, access phase, content phase) 를 기록 할 수 있 습 니 다. 오류 로그 단 계 를 높 여야 합 니 다. 디 버 깅 할 때 debug 로 설정 할 수 있 습 니 다.
4. 설치 검증
lua 컴 파 일 러 를 사용 할 때 다음 과 같이 표시 합 니 다.
1
2
[root@localhost ~]# lsof -p
3359
| grep -i lua
nginx
3359
root mem REG
8
,
3
183920
394551
/usr/lib64/liblua-
5.1
.so
luajit 인 스 턴 트 컴 파일 러 를 사용 할 때 다음 과 같이 표시 합 니 다.
1
2
[root@localhost ~]
# lsof -p 13177 | grep -i lua
nginx 13177 root mem REG 8,3 452024 405089
/usr/local/lib/libluajit-5
.1.so.2.0.2
5. 설정 명령 과 출력 검증
nginx. conf 설정 파일 을 수정 하고 다음 명령 을 추가 합 니 다:
1
2
3
location / {
content_by_lua 'ngx.say("hello world!")';
}
nginx 를 다시 시작 하고 curl 로 테스트 합 니 다.1
2
3
4
5
6
7
8
[root@localhost ~]
# curl -i localhost
HTTP
/1
.1 200 OK
Server: nginx
/1
.4.1
Date: Tue, 24 Sep 2013 23:23:58 GMT
Content-Type: application
/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
hello world!
다음으로 이동:http://haoyun.blog.51cto.com/2038762/1301257
참고:http://blog.chinaunix.net/uid-26212859-id-3256667.html