nginx 컴파일해서 설치하기: nginx tcp proxy 서버 구성
2024. 3. 11. 22:58ㆍWeb Server/nginx
https://velog.io/@zuckerfrei/Nginx-TCP-Proxy-%EC%84%9C%EB%B2%84
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 |