아래 설치방법은 nginx설치때도 똑같이 사용가능하다. ./configure
단계에서 --with-luajit
옵션만 뺴면 된다. 일반적으로 nginx아닌 OpenResty를 선택하는 이유는 LuaJIT사용하기 위하여서다.
필수패키지 사전설치
OpenResty는 Nginx기반으로 만들어져있어 설치전 Nginx가 필요로 하는 패키지를 사전설치 해야한다.
-
PCRE - 정규표현식 library,Nginx Core 및 Rewrite모듈에서 사용.
-
zlib - 데이터 압축 library,Gzip 모듈에서 사용.
-
OpenSSL - SSL기능지원
-
GCC - GNU 프로젝트의 오픈 소스 컴파일러 컬렉션
CentOS, RHEL,Rocky, and Fedora
1
| sudo yum install gcc make pcre pcre-devel zlib zlib-devel openssl openssl-devel
|
Debian기반의 Linux
1
| sudo apt-get install make openssl-devel liblz-dev libpcre3
|
소스 빌드 및 설치
소스 다운로드
최신버전은 공식홈페이지에서 확인:https://openresty.org/en/download.html
1
2
3
4
5
6
7
8
| #openresty 소스 다운로드하여 압축 풀어줌
wget https://openresty.org/download/openresty-1.19.9.1.tar.gz
tar -zxvf openresty-1.19.9.1.tar.gz
#필요한 모듈 다운로드 (필요한 제3방 모듈 없으면 skip)
wget https://hg.nginx.org/njs/archive/9578cc729205.tar.gz
tar -zxvf 9578cc729205.tar.gz
mv njs-9578cc729205/ njs && mv njs openresty-1.19.9.1/bundle/
|
OpenResty및 제3방모듈 빌드
이 단계에서 표준 Nginx configure파일 옵션들은 전부 사용가능함. --add-module=PATH
혹은 --add-dynamic-module=PATH
옵션으로 제3방모듈 설치가능.
1
2
3
4
5
6
7
8
9
10
| #Makefile생성
./configure --prefix=/app/openresty \
--with-luajit \
--with-http_ssl_module \
--with-http_auth_request_module \
--add-dynamic-module=./bundle/njs/nginx \
--modules-path=/app/openresty/nginx/modules
#소스 빌드 및 설치
sudo make && make install
|
systemd 유닛 파일 생성
1
| sudo vim /lib/systemd/system/nginx.service
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| [Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/app/openresty/nginx/logs/nginx.pid
ExecStartPre=/app/openresty/nginx/sbin/nginx -t
ExecStart=/app/openresty/nginx/sbin/nginx
ExecReload=/app/openresty/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
|
1
2
3
4
| #서비스 시작 및 활성화
systemctl --now enable nginx
#서비스 상태 확인
systemctl status nginx
|