Nginx 의 설치, 업그레이드 및 간단 한 사용

Nginx 설치
설치
yum -y install gcc pcre-devel openssl-devel   #        
useradd -s /sbin/nologin nginx   #      
tar -xf  /root/lnmp_soft/nginx-1.10.3.tar.gz
cd  nginx-1.10.3
./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_ssl_module --with-stream --with-http_stub_status_module
make && make install #     

그 속
– prefix = / usr / local / nginx 지정 설치 경로 – user = nginx 지정 사용자 – group = nginx 지정 기본 그룹 – with - httpssl_module SSL 암호 화 기능 오픈 – with - stream ngxstream_core_모듈 모듈 – with - httpstub_status_모듈 오픈 상태 페이지 모듈
관련 명령
/usr/local/nginx/sbin/nginx                    #    
/usr/local/nginx/sbin/nginx -s stop            #    
/usr/local/nginx/sbin/nginx -s reload        #        
/usr/local/nginx/sbin/nginx -V                #      

프로그램 호출 편 의 를 위해 소프트 연결 을 만 들 고 단축 키 를 만 듭 니 다.
ln -s /usr/local/nginx/sbin/nginx /sbin/

뒤에 nginx 를 직접 호출 할 수 있 습 니 다.
Nginx 서버 업그레이드
(1) 새 버 전 nginx 소프트웨어 컴 파일
tar  -zxvf   nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure  --prefix=/usr/local/nginx --user=nginx --group=nginx  --with-http_ssl_module --with-stream  --with-http_stub_status_module
make    #      ,        

(2) 오래된 nginx 메 인 프로그램 을 백업 하고 컴 파일 된 새 버 전 nginx 로 오래된 버 전 을 교체 합 니 다.
mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginxold
cp objs/nginx  /usr/local/nginx/sbin/         #     
make upgrade     #  
nginx -t    #  
nginx –v   #    

(3) 클 라 이언 트 액세스 테스트
curl url

Nginx 사용자 인증
웹 페이지 에 접근 하려 면 사용자 인증 이 필요 합 니 다.
(1) 프로필 수정
vim /usr/local/nginx/conf/nginx.conf

server 모듈 에 두 문장 설정 추가
auth_basic auth_basic_user_file
http{
    ... ...
    server_tokens off;  #  nginx    
    ... ... 
    server {
        listen      80;
        server_name  localhost;
        auth_basic "Input Password:"; #     ,          
        auth_basic_user_file "/usr/local/nginx/pass"; #      
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
         }

    }
}

(2) 포장
yum -y install httpd-tools
#      ,        ,        ,         ,  -c  
htpasswd -c /usr/local/nginx/pass tom 

(3) 서비스 재 개
nginx -s reload

#    nginx     ,          ,      :
#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

가상 웹 호스트 설정
1. 도 메 인 이름 기반 가상 호스트 설정
(1) 프로필 수정, server 변경name 및 location – > root
vim /usr/local/nginx/conf/nginx.conf
server {
        listen    80;
        server_name  www.a.com;
        auth_basic "Input Password:"; #     ,          
        auth_basic_user_file "/usr/local/nginx/pass"; #      
        location / {
            root   html;
            index  index.html index.htm;
        }
 }
#    server  
server {
        listen    80;
        server_name  www.b.com;
        charset utf-8;  #      
        location / {
            root   www;
            index  index.html index.htm;
        }
 }
mkdir /usr/local/nginx/www    #  b  web     
echo "www.b.com" > /usr/local/nginx/www/index.html   #           
nginx -s reload

위 설정 의 역할 은 도 메 인 이름 을 기반 으로 하 는 가상 호스트 두 개 를 설정 하 는 것 입 니 다. www. a. com 과 www. b. com, 그 중에서 www. a. com 은 사용자 인증 을 설정 합 니 다.
2. 포트 기반 가상 호스트
server {
        listen       8080;                        #  
        server_name  web1.example.com;          #  
        ......
}
server {
        listen       8000;                         #  
        server_name  web1.example.com;           #  
      .......
}

3. IP 기반 가상 호스트
server {
        listen       192.168.0.1:80;              #IP     
        server_name  web1.example.com;          #  
  ... ...
}
server {
        listen       192.168.0.2:80;             #IP     
        server_name  web1.example.com;
... ...
}

4. SSL 가상 호스트
(1) 비밀 키 와 인증서 생 성
 cd /usr/local/nginx/conf
 openssl genrsa > cert.key                            #    
 openssl req -new -x509 -key cert.key > cert.pem      #    

(2) Nginx 프로필 을 수정 하고 암호 화 된 사이트 의 가상 호스트 를 설정 합 니 다.
vim  /usr/local/nginx/conf/nginx.conf
… …    
server {
        listen       443 ssl;
        server_name        www.c.com;
        ssl_certificate      cert.pem;         #       
        ssl_certificate_key  cert.key;         #       
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }

(3) nginx 서비스 재 개
nginx -s reload

(4) 클 라 이언 트 검증
 firefox https://www.c.com            //         

글 에 필요 한 소프트웨어 패키지
Github

좋은 웹페이지 즐겨찾기