이전 글에서는 FastDFS 서버 설치와 환경 설정을 진행했습니다. 이제 Nginx 설치 방법을 알아보겠습니다.
1. Nginx 설치를 위한 필수 패키지 설치
Nginx를 설치하기 전에 필요한 의존성 패키지들을 먼저 설치합니다.
1.1 gcc-c++ 설치 (이미 설치된 경우 생략 가능)
yum install gcc-c++
설치 중 "y/N" 선택이 나타나면 'y'를 입력합니다.
1.2 PCRE (Perl Compatible Regular Expressions) 설치
PCRE는 정규식 라이브러리로, Nginx에서 URI 패턴 매칭에 사용됩니다.
yum install pcre pcre-devel
1.3 zlib 설치
zlib은 데이터 압축을 위한 라이브러리입니다.
yum install zlib zlib-devel
1.4 OpenSSL 설치
OpenSSL은 SSL/TLS 프로토콜 지원을 위해 필요합니다.
yum install openssl openssl-devel
2. Nginx 설치
2.1 압축 해제
tar -zxvf nginx-1.12.0.tar.gz
2.2 컴파일 및 설치
컴파일 옵션을 설정합니다. FastDFS-nginx-module을 포함시킵니다.
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/tar/fastDFS/fastdfs-nginx-module/src
설정이 완료되면 컴파일을 진행합니다.
make
만약 컴파일 중 오류가 발생하면, fastdfs-nginx-module/src/config 파일을 수정해야 합니다.
vim /home/fastdfs-nginx-module/src/config
다음 라인에서 'local' 경로를 제거합니다.
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
수정 후 다시 make를 실행하고 설치합니다.
make install
3. FastDFS-Nginx 모듈 설정
mod_fastdfs.conf 파일을 복사하고 수정합니다.
cd /home/tar/fastDFS/fastdfs-nginx-module/src/
cp mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs/
vim mod_fastdfs.conf
tracker_server 설정에 Alibaba Cloud 서버의 공인 IP를 입력합니다. 만약 로컬 가상 머신을 사용한다면, 가상 머신의 고정 IP를 입력합니다.
tracker_server=your_public_ip:22122
'have' 키워드로 검색하여 'url_have_group_name' 설정을 false에서 true로 변경합니다.
url_have_group_name=true
tmp 디렉토리를 생성합니다.
mkdir -p /fastdfs/tmp
4. Nginx 설정 파일 수정
cd /usr/local/nginx/conf/
vim nginx.conf
다음과 같이 서버 블록을 추가합니다.
server {
listen 88;
server_name 192.168.1.88;
location /group1/M00 {
ngx_fastdfs_module;
}
}
설정 후 테스트를 진행합니다.
./nginx -t
mkdir -p /var/temp/nginx/client
5. 방화벽 및 보안 그룹 설정
Nginx 페이지에 접근할 수 없는 경우 다음 사항을 확인합니다:
- 방화벽 규칙 확인
- Alibaba Cloud 보안 그룹에서 포트 88번이 열려 있는지 확인
# Nginx 서비스 상태 확인
ps -ef | grep nginx
# 로컬에서 접속 테스트
wget 127.0.0.1
curl 127.0.0.1
6. 이미지 접근 설정
이미지가 404 오류를 반환하는 경우, mod_fastdfs.conf 파일에서 storage 서버의 실제 저장 경로를 설정해야 합니다.
cd /etc/fdfs/
vim mod_fastdfs.conf
store_path0을 실제 경로로 설정합니다.
store_path0=/fastdfs/storage
설정을 완료한 후 모든 서비스를 재시작합니다.
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
cd /usr/local/nginx/sbin/
./nginx -s reload
이제 Nginx를 통해 FastDFS에 저장된 이미지에 접근할 수 있습니다.