nginx 웹 서버 구축
1. 높 은 동시 접속 가능
공식 테스트 인 Nginx 는 5 만 개의 동시 접속 을 지탱 할 수 있 으 며, 실제 생산 환경 에 서 는 2 ~ 4 만 개의 동시 접속 수 를 지탱 할 수 있다.
이 유 는 주로 Nginx 가 최신 epoll (Linux 2.6 커 널) 과 kqueue (freeBSD) 네트워크 I / O 모델 을 사 용 했 고 Apache 는 전통 적 인 Select 모델 을 사 용 했 으 며 비교적 안정 적 인 Prefork 모델 은 다 중 프로 세 스 모델 로 자식 프로 세 스 를 자주 보 내야 하기 때문에 소비 하 는 CPU 등 서버 자원 이 Nginx 보다 훨씬 높 기 때문이다.
2. 메모리 소모 가 적 음
Nginx + PHP (FastCGI) 서버 는 3 만 개의 동시 접속 으로 Nginx 프로 세 스 10 개 를 켜 면 150 MB, 15MB * 10 = 150 MB, PHP - CGI 프로 세 스 64 개 를 켜 면 1280 메모리, 20MB * 64 = 1280 MB 가 소모 되 며 시스템 자체 가 소모 하 는 메모리 까지 합치 면 총 2GB 의 메모리 가 소모 되 지 않 습 니 다.
서버 의 메모리 가 작 으 면 25 개의 PHP - CGI 프로 세 스 만 열 수 있 으 며, 이렇게 하면 PHP - CGI 가 소모 하 는 총 메모리 수 는 500 MB 에 불과 하 다.
3. 원가 가 저렴 하 다
F5BIG - IP, NetScaler 등 하드웨어 부하 균형 교환 기 를 구 매 하려 면 10 만 위안 에서 수 십 만 위안 이 필요 하 며, Nginx 는 오픈 소스 소프트웨어 로 2 - clause BSD - like 프로 토 콜 을 사용 하여 무료 로 사용 할 수 있 으 며 상업 적 용도 로 도 사용 할 수 있다.
BSD 오픈 소스 프로 토 콜 은 사용자 에 게 매우 큰 자 유 를 주 는 프로 토 콜 로, 프로 토 콜 은 소스 코드 를 자 유 롭 게 사용 하고 수정 할 수 있 으 며 수 정 된 코드 를 오픈 소스 나 전용 소프트웨어 로 다시 발표 할 수도 있다 고 지적 했다.
4. 설정 파일 은 매우 간단 합 니 다.
네트워크 는 프로그램 처럼 통속 적 이 고 알 기 쉬 워 서 비 전용 시스템 관리자 도 알 아 볼 수 있다.
5. Rewrite 재 작성 지원
도 메 인 이름, URL 에 따라 http 요청 을 백 엔 드 서버 그룹 으로 나 눌 수 있 습 니 다.
6. 내 장 된 건강 검진 기능
Nginx Proxy 백 엔 드 의 한 웹 서버 가 다운 되면 전단 의 접근 에 영향 을 주지 않 습 니 다.
7. 대역 폭 절약
GZIP 압축 을 지원 합 니 다. 브 라 우 저 로 컬 캐 시 헤드 를 추가 할 수 있 습 니 다.
8. 안정성 이 높다
역방향 대리 에 사용 되 며, 지연 시 킬 확률 은 매우 적다.
9. 열 배치 지원
Nginx 는 열 배 치 를 지원 합 니 다. 자동 으로 매우 쉽 고 거의 7 일 * 24 시간 동안 쉬 지 않 고 실행 할 수 있 습 니 다. 수 개 월 동안 실행 해도 다시 시작 할 필요 가 없고 끊 임 없 는 서비스 상황 에서 소프트웨어 버 전 을 업그레이드 할 수 있 습 니 다.
정적 웹 서버 구축
1. 기본 정적 페이지 방문
(1) 소스 패키지 로 nginx 소프트웨어 설치
[root@proxy ~]# yum -y install gcc pcre-devel openssl-devel httpd-tools //
[root@proxy ~]# useradd -s /sbin/nologin nginx
[root@proxy ~]# tar -xf nginx-1.10.3.tar.gz
[root@proxy ~]# cd nginx-1.12.2
[root@proxy nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \ //
> --user=nginx \ //
> --group=nginx \ //
> --with-http_ssl_module // SSL
> --with-stream // 4
> --with-http_stub_status_module // status
[root@proxy nginx-1.12.2]# make && make install //
(2) nginx 명령 의 용법
root@proxy ~]# /usr/local/nginx/sbin/nginx //
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s stop //
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload //
[root@proxy ~]# /usr/local/nginx/sbin/nginx –V //
[root@proxy ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //
(3) 테스트 첫 페이지 파일, Nginx 웹 서비스 기본 첫 페이지 문서 저장 디 렉 터 리 는 / usr / local / nginx / html / 입 니 다. 이 디 렉 터 리 에 index. html 라 는 파일 이 기본 으로 있 습 니 다. 클 라 이언 트 를 사용 하여 테스트 페이지 에 접근 합 니 다.
[root@client ~]# curl http://192.168.4.5
Welcome to nginx!
Welcome to nginx!
2 nginx 웹 페이지 를 방문 하여 사용자 인증 실현
(1) Nginx 프로필 수정
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
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;
}
}
(2) 암호 파일 생 성, 사용자 및 비밀번호 생 성, htpasswd 명령 으로 계 정 파일 생 성, 시스템 에 httpd - tools 가 설치 되 어 있 는 지 확인 해 야 합 니 다.
[root@proxy ~]# yum -y install httpd-tools
[root@proxy ~]# htpasswd -c /usr/local/nginx/pass tom //
New password:
Re-type new password:
Adding password for user tom
[root@proxy ~]# htpasswd /usr/local/nginx/pass jerry // , -c
New password:
Re-type new password:
Adding password for user jerry
[root@proxy ~]# cat /usr/local/nginx/pass
(3) Nginx 서비스 재 개, 액세스 테스트
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload //
[root@client ~]# firefox http://192.168.4.5 //
3 도 메 인 이름 기반 가상 호스트: Nginx 프로필 을 수정 하고 server 용 기 를 추가 하여 가상 호스트 기능 을 수행 합 니 다.사용자 인증 이 필요 한 가상 호스트 에 auth 인증 문 구 를 추가 합 니 다.가상 호스트 는 일반적으로 도 메 인 이름, IP 기반, 포트 기반 가상 호스트 로 나 눌 수 있다.
요청: 도 메 인 이름 기반 가상 호스트 두 개 를 실현 하고 도 메 인 이름 은 각각 www. a. com 과 www. b. com 이다. 도 메 인 이름 이 www. a. com 인 사이트 에 대해 사용자 인증 을 실시 합 니 다. 사용자 이름 은 tom 이 고 비밀 번 호 는 123456 입 니 다.
(1) Nginx 서비스 설정 수정
[root@proxy ~]# 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 {
listen 80; //
server_name www.b.com; //
location / {
root www; //
index index.html index.htm;
}
}
(2) 사이트 루트 디 렉 터 리 생 성 및 대응 하 는 홈 페이지 파일 생 성
[root@proxy ~]# mkdir /usr/local/nginx/www
[root@proxy ~]# echo "www" > /usr/local/nginx/www/index.html
(3) nginx 서비스 재 개
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
(4) 클 라 이언 트 호스트 의 / etc / hosts 파일 을 수정 하여 도 메 인 이름 분석
[root@client ~]# vim /etc/hosts
192.168.4.5 www.a.com www.b.com
(5) 테스트
[root@client ~]# firefox http://www.a.com //
[root@client ~]# firefox http://www.b.com //
4 암호 화 된 사이트 기반 가상 호스트 설정
원본 코드 가 Nginx 를 설치 할 때 반드시 사용 해 야 합 니 다 -- with - httpssl_module 매개 변수, 암호 화 모듈 을 사용 하여 SSL 암호 화 처리 가 필요 한 사이트 에 ssl 관련 명령 을 추가 합 니 다 (사이트 에 필요 한 비밀 키 와 인증 서 를 설정 합 니 다).암호 화 알고리즘 은 일반적으로 대칭 알고리즘, 비대 칭 알고리즘, 정보 요약 으로 나 뉜 다.대칭 알고리즘 은 AES, DES 가 있 는데 주로 단일 컴퓨터 데이터 암호 화 에 사용 된다.비대 칭 알고리즘 은 RSA, DSA 가 있 는데 주로 네트워크 데이터 암호 화 에 사용 된다.정보 요약: MD5, sha 256, 주로 데이터 완전 성 검사, 데이터 초 전송 등에 사 용 됩 니 다.
(1) 비밀 키 와 인증서 생 성
[root@proxy ~]# cd /usr/local/nginx/conf
[root@proxy ~]# openssl genrsa > cert.key //
[root@proxy ~]# openssl req -new -x509 -key cert.key > cert.pem //
(2) Nginx 프로필 을 수정 하고 암호 화 된 사이트 의 가상 호스트 를 설정 합 니 다.
[root@proxy ~]# 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 서 비 스 를 다시 시작 하고 테스트 합 니 다.
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
[root@client ~]# firefox https://www.c.com // ( )
삼 nginx WEB 서버 가 움직임 분 리 를 실현 합 니 다. 여기 서 LAMP 환경 배치 과정 에 대해 서 는 군말 하지 않 겠 습 니 다. 앞 에 소개 되 어 있 습 니 다.
1 php - fpm 프로필 보기, Nginx 는 FastCGI 기술 과 결합 하여 PHP 페이지 구 조 를 지원 합 니 다
fastcgi 기술 설명:https://blog.csdn.net/weixin_42104231/article/details/83573006
[root@proxy etc]# vim /etc/php-fpm.d/www.conf
[www]
listen = 127.0.0.1:9000 //PHP
pm.max_children = 32 //
pm.start_servers = 15 //
pm.min_spare_servers = 5 //
pm.max_spare_servers = 32 //
2 Nginx 프로필 수정 및 서비스 시작
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
# index.php, IP, , index.php
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000; # 9000 ,PHP
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
}
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
3 PHP 테스트 페이지 를 만 들 고 MariaDB 데이터 베 이 스 를 연결 하고 조회 합 니 다.
[root@proxy ~]# vim /usr/local/nginx/html/test1.php
[root@proxy ~]# vim /usr/local/nginx/html/test2.php
query($sql);
while($row = $result->fetch_array()){
printf("Host:%s",$row[0]);
printf("");
printf("Name:%s",$row[1]);
printf("");
}
?>
4 클 라 이언 트 는 브 라 우 저 를 사용 하여 서버 PHP 첫 페이지 문 서 를 방문 하여 성공 여 부 를 확인 합 니 다.
[root@client ~]# firefox http://192.168.4.5/test1.php
[root@client ~]# firefox http://192.168.4.5/test2.php
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.