자바스크립트 처리nginx 요청 과정에 대한 상세한 설명

nginx는 HTTP와 역방향 프록시 서버로 현재 많은 사이트에서nginx를 역방향 프록시 서버로 사용하고 있다.
njs는 자바스크립트 언어의 하위 집합으로nginx의 기능을 확장할 수 있습니다. 이 점은 루아와 약간 유사하지만 사용하는 언어는javascript입니다.
1.nginx 설치
njs를 사용하려면nginx를 설치해야 합니다. 여기서 제가 사용하는 환경은 Ubuntu18.04.4입니다.
먼저 http://nginx.org/en/download.html에서 최신stableversion의nginx 원본을 다운로드합니다.
a. 압축 해제 원본 코드
sudo tar zxvf nginx-1.18.0.tar.gz
b. 설치 필요 의존 라이브러리
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev
# Centos 시스템의 경우 다음 명령을 사용합니다.
# yum install pcre pcre-devel
# yum install zlib zlib-devel
# yum install openssl-devel
c. njs 원본 코드 가져오기
#mercurial 설치
sudo apt-get install mercurial
# 소스 코드 가져오기
cd/usr/local/src
hg clone http://hg.nginx.org/njs
d. 설정nginx
cd nginx-1.18.0
sudo ./configure\
--sbin-path=/usr/local/nginx/nginx\
--conf-path=/usr/local/nginx/nginx.conf\
--pid-path=/usr/local/nginx/nginx.pid\
--add-module=/usr/local/src/njs/nginx
구성에 성공하면 다음과 같은 정보를 볼 수 있습니다.
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ using system zlib library
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx"
nginx configuration file: "/usr/local/nginx/nginx.conf"
nginx pid file: "/usr/local/nginx/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
e. 원본 코드 컴파일
sudo make
#make 명령이 설치되어 있지 않으면 다음 명령을 통해 설치할 수 있습니다
# sudo apt-get install make
f. 설치
sudo make install
# 설치 디렉토리는/usr/local/nginx
g. 시작nginx
cd/usr/local/nginx
sudo ./nginx
시작 후 액세스 가능http://localhostnginx가 시작되었는지 확인하거나logs 디렉터리에 있는 로그를 통해 시작 로그를 볼 수 있습니다.
여기에 njs를 통합한nginx가 설치되었습니다. 다음은 자바스크립트 코드를 쓰기 시작할 수 있습니다.
2. js 코드 작성
nginx 루트 디렉터리에 js 디렉터리를 만들어서 모든 js 프로그램을 저장하고 http를 작성합니다.js 테스트 njs 모듈 통합 완료 여부.
sudo mkdir js
cd js
sudo touch http.js
http.js의 원본 코드

function hello(r) {
  r.return(200, "Hello world!");
}
export default {hello};
3. js 프로그램 도입
http.js 작성이 끝난 후,nginx에 도입하여nginx를 복원해야 합니다.conf 설정, 다음은 기타 관련 설정 생략

http {
 #  http 
 js_import js/http.js;

 server {
  location /js {
   default_type 'text/html';
   js_content http.hello;
  }
 }
}
위에서 지정한/js 경로의 처리는 http입니다.브라우저를 통해 접근할 수 있도록 hello 프로그램 처리http://localhost/jshttp를 보십시오.hello가 되돌아온 결과입니다.
4. njs 명령 추가
더 많은 njs 지령 및 사례는 홈페이지에서 조회할 수 있습니다http://nginx.org/en/docs/njs/index.html.
사례 주소: http://nginx.org/en/docs/njs/examples.html.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기