nginx 컴파일해서 설치하기: nginx tcp proxy 서버 구성

2024. 3. 11. 22:58Web Server/nginx

https://velog.io/@zuckerfrei/Nginx-TCP-Proxy-%EC%84%9C%EB%B2%84

 

Nginx TCP Proxy 서버

nginx로 tcp proxy 서버 구축

velog.io

nginx plus에서 제공되는 기능

apt를 통해서 설치한 기본 nginx에서는 기능을 제공하지 않음

--with-stream를 써서 컴파일해야 함

설치

재작업을 해도 기존에 존재하는 nginx.conf를 덮지 않음

# 파일 다운로드
wget https://nginx.org/download/nginx-1.24.0.tar.gz

# 압축 해제
tar -zxvf nginx-1.24.0.tar.gz

# 컴파일
./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/conf/ngnx.conf \
--pid-path=/etc/nginx/nginx.pid \
--lock-path=/var/run/nginx.lock \
# 소켓통신 추가
--with-stream \
# nginx 모니터링 추가
--with-http_stub_status_module \
# ssl 추가
--with-http_ssl_module

# install
sudo make install

# 서비스 등록
sudo vi /etc/systemd/system/nginx.service
-------------------------------
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
-------------------------------

# 서비스 등록
sudo systemctl daemon-reload

# 부팅후 서비스 자동 실행
sudo systemctl enable --now nginx

# 상태확인
sudo systemctl status nginx

nginx.conf 설정

# 원하는 계정의 디렉토리에 root를 설정하기 위해 수정
# 만약 수정하지 않으면 사이트 접속시 403 에러 발생
user  {계정};

Trouble Shooting

  • checking for C compiler ... not found
# 프로그램 설치
sudo apt install make libperl-dev libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev libxml2-dev libxslt1-dev libgd-dev libgeoip-dev google-perftools libgoogle-perftools-dev gcc g++ patch
  • nginx: [emerg] invalid value "403,"

','가 문제였는데, 에러는 403으로 남

'nginx -t' 로는 잡히지 않음

# 수정전
		error_page 403, 404 /error.html;
        location /error.html {
                root {원하는 위치};
        }
        
 # 수정후
		error_page 403 404 /error.html;
        location /error.html {
                root {원하는 위치};
        }
  • nginx: [emerg] unknown directive "stub_status"

컴파일시, nginx 모니터링 모듈 추가 필요: --with-http_stub_status_module
추가했지만, 안됨

'Web Server > nginx' 카테고리의 다른 글

Nginx proxy에서 client IP를 backend에 전달하기  (0) 2024.12.29
nginx tcp proxy 설정  (0) 2024.05.04
nginx header 정보 제거  (0) 2024.03.01
nginx와 minikube ingress 연동  (0) 2024.02.03
nginx 인증 설정  (0) 2023.06.10