추가구현 목표인 분산서버에 적용할 nginx를 설치하고 테스트 하는 시간을 가졌다.
보통 우분투에서 apt install nginx
로 설치하지만, 이렇게 설치하면 http 모듈만 있고 tcp를 다룰 수 있는
stream 모듈이 포함되어 있지 않아서 공식홈페이지를 통해 다운받아야 한다.
wget https://nginx.org/download/nginx-1.27.3.tar.gz
명령어를 이용하면 현재 폴더에 다운받을 수 있다.
tar -zxvf nginx-1.27.3.tar.gz
명령어를 통해 압축을 해제해준다.
압축이 풀린 폴더로 이동하고 ./configure --with-stream
을 통해 설치해준다.
만약에 ./configure: error: C compiler cc is not found
이런 오류가 뜬다면,
sudo apt-get install build-essential
를 설치해준다.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.```
위와 같은 오류가 뜬다면 apt-get install libpcre3 libpcre3-dev
도 설치해준다.
그냥 밑에 기재된거 다 깔자..
1. sudo apt-get install build-essential
2. sudo apt-get install libpcre3 libpcre3-dev
3. sudo apt-get install zlib1g zlib1g-dev
4. sudo apt-get install -y libssl-dev
그 다음 컴파일 설치를 위해 sudo make install
을 입력해준다.
험난한 여정 끝 이제 vi /etc/systemd/system/nginx.service
를 통해 파일을 생성할 것이다.
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
을 통해 등록시켜주고 systemctl enable --now nginx
을 통해 부팅 자동실행을 설정해준다.
systemctl status nginx
로 상태확인하면 끝