>  기사  >  운영 및 유지보수  >  Nginx 가상 호스트를 구성하는 방법

Nginx 가상 호스트를 구성하는 방법

王林
王林앞으로
2023-05-15 22:46:042688검색

1. Nginx 가상 호스트 구성

가상 호스트: 일반적으로 각 서버를 더 많은 사용자가 사용할 수 있도록 하기 위해 서버를 여러 개의 가상 하위 서버로 나눌 수 있으며 각 하위 서버는 서로 독립적입니다. 이들 서버는 가상화 기술을 기반으로 분리되어 있어 하나의 서버를 여러 개의 하위 서버로 가상화할 수 있습니다. 우리는 하위 서버를 가상 호스트라고 부릅니다. Nginx 서버를 설정한 후에는 현재 하나의 Nginx 서버만 있습니다. 이 서버에 가상 호스트를 구성하면 하나의 Nginx 서버를 여러 개의 독립 하위 서버로 나눌 수 있습니다.

Nginx에서 가상 호스트를 구성하는 두 가지 주요 단계는 다음과 같습니다.

1. 가상 호스트 IP 만들기

ifconfig를 통해 호스트 IP를 확인한 다음 호스트 IP를 기반으로 가상 호스트 IP를 만듭니다.

명령: ifconfig eth2:2 121.42.41.145 Broadcast 121.42.43.255 netmask 255.255.252.0

실행 후 다음 그림:

Nginx 가상 호스트를 구성하는 방법

2.

nginx.conf: 이 파일은 nginx의 시스템 구성 파일이므로 변경하지 않는 것이 좋습니다. 우리는 일반적으로 사용자 정의 파일을 사용한 다음 파일을 로드하여 동일한 효과를 얻습니다.

/usr/local/nginx/conf 디렉터리에 xnzj.conf 구성 파일을 만듭니다.

#========工作衍生进程数(建议设置成与cpu核数相同或者2倍)==========
worker_processes  1;
#===========设置最大连接数==============
events {
    worker_connections  1024;
}
#============http协议的相关信息==============
http {
    server {
        #===========要监听虚拟主机的IP地址与端口==========
        listen 121.42.41.144:80;
        #===========该虚拟主机的名称===========
        server_name  121.42.41.144;
        #===============该虚拟主机服务器的日志文件=========
        access_log  logs/server144.access.log  combined;
        #============== 默认请求资源=============
        location / {
            root   html/server144;
            #===== nginx会先找index.html 如果没找到就找index.htm
            index  index.html index.htm;
        }
    }
    server {
        #===========要监听虚拟主机的IP地址与端口==========
        listen 121.42.41.145:80;
        #===========该虚拟主机的名称===========
        server_name  121.42.41.145;
        #===============该虚拟主机服务器的日志文件=========
        access_log  logs/server145.access.log  combined;
        #============== 默认请求资源=============
        location / {
            root   html/server145;
            index  index.html index.htm;
        }
    }
}

/usr/local/nginx/html

/usr/local/nginx/html/server144/index.html ;/usr/local/nginx/html/server145/index 아래에 해당 가상 호스트 기본 리소스를 만듭니다. html

Nginx가 사용자 정의 구성 파일을 로드하도록 합니다(내 구성 파일: xnzj.conf)

명령 실행: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/xnzj.conf ​​​​​

2. 로그 구성

Nginx 서버가 실행되면 다양한 작업이 발생하게 되는데, 이러한 주요 작업 정보가 파일에 기록됩니다. 로그 파일의 기록은 시스템의 기본 형식에 따라 기록되거나 사용자 정의된 형식에 따라 기록될 수 있습니다. log_format 지시문을 사용하여 Nginx 서버 로그 파일의 기록 형식을 설정할 수 있습니다.

구성 방법: nginx.conf 파일을 열고 주석 처리된 하위 코드를 활성화합니다.

#combined:日志输出格式 
     #remote_addr 客户端请求地址 
     #remote_user:客户端用户名  
     #request:请求的地址(服务器资源位置) 
     #status:用户的请求状态 
     #body_bytes_sent:服务器响应的资源大小(字节数),  
     #http_referer:源网页    
     #http_user_agent:客户端浏览器信息  
     #http_x_forwarded_for:客户端Ip地址  
    log_format  combined  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
    #==================日志文件  access_log:off;表示关闭日志===========
    access_log  logs/access.log  combined;

로그 자르기:

Nginx 로그 파일 저장을 보다 합리적이고 질서있게 만들기 위해서는 로그 파일을 별도로 저장해야 합니다. 예를 들어 오늘의 로그 파일은 하나의 파일에 저장될 수 있습니다. 내일의 로그 파일은 하나의 파일에 저장됩니다. 로그 파일은 다른 새 파일에 저장됩니다. 이때 로그 파일 잘라내기 작업을 사용하겠습니다.

로그 자르기 단계:

1. 배치 파일을 생성합니다.

/usr/local/nginx/logs 디렉터리에서 실행합니다. [root@iZ28b4kreuaZ 로그]# touch cutlog.sh

2. :

D=$(date +%Y%m%d)
mv /usr/local/nginx/logs/access.log ${D}.log
kill -USR1 $(cat /usr/local/nginx/nginx.pid)

3. 배치 파일을 정기적으로 실행합니다. crontab -e 명령을 실행하여 다음 내용을 추가합니다

23 59 *** /bin/bash /usr/local/nginx/logs/cutlog.sh

3. Nginx 캐시 구성

브라우저에서 웹페이지를 탐색할 때 웹페이지의 일부 정보(웹페이지의 사진 등)를 로컬에 저장합니다. 컴퓨터의 정보를 로컬로 로드할 수 있으므로 훨씬 더 빠릅니다. 로컬에 저장된 이 정보를 캐시라고 합니다. 그러나 캐시가 너무 많으면 캐시 파일이 매우 커져 정상적인 온라인 활동에 영향을 미칩니다. 따라서 캐시를 정기적으로 정리해야 합니다.

구성 방법: /usr/local/nginx/conf/nginx.conf 구성 파일의 http{ server{}} 위치 아래에 다음 코드를 추가합니다.

#====================缓存配置=============
       location ~.*\.(jpg|png|swf|gif)${
            expires 2d;#两天后清除
       }
       location ~.*\.(css|js)?${
        expires:1h;#
       }

4. Nginx의 gzip 압축 구성

여기서 언급했습니다. 압축 기능은 gzip 압축 기술을 의미합니다. gzip 압축 기술을 통해 원본 웹페이지의 콘텐츠 크기를 원래 크기의 30%로 압축할 수 있습니다. 이렇게 하면 사용자가 웹페이지에 접속할 때 전송되는 콘텐츠가 기존 크기보다 훨씬 작기 때문에 액세스 속도가 훨씬 빨라집니다. 원본 내용. Nginx 서버는 gzip 압축 기술을 지원하지만 이를 구성해야 합니다.

구성 방법: /usr/local/nginx/conf/nginx.conf 구성 파일의 http{ }에 다음 코드를 추가합니다.

gzip  on;#开启压缩
    gzip_min_lenth 1k;#设置使用压缩的最小单位
    gzip_buffers 4 16k;#创建压缩文件缓存大小
    gzip_http_version 1.1;#使用压缩技术的协议 及其版本
    gzip_vary:on;#开启判断客户端浏览器是否支持压缩技术

5. Nginx는 자동으로 디렉터리 구성을 나열합니다.

클라이언트가 서버에 액세스할 때 브라우저를 통해 특정 폴더에 들어갈 때 해당 폴더에 index.html과 같은 기본 홈페이지 파일이 있으면 사용자는 자동으로 index.html 웹 페이지에 액세스하게 됩니다. 그러나 index.html과 같은 기본 홈페이지 파일이 없는 경우, 이때 폴더에 다른 파일이 있다고 가정하면 사용자는 자동 디렉토리 목록 기능을 구성하지 않으면 당사 폴더의 내용에 접근할 수 없습니다. 그러나 자동 디렉터리 목록 기능을 구성한 후에는 폴더의 모든 파일 목록을 볼 수 있으며 디렉터리 목록이 자동으로 나열됩니다.

자동 디렉터리 목록을 구현하려면 두 가지 조건이 필요합니다.

1. 접근한 폴더에 색인 등의 기본 홈페이지 파일이 없습니다.

2.服务器配置了自动列目录功能。

配置方式:/usr/local/nginx/conf/nginx.conf 配置文件的http{ server{}}中添加 如下代码:

location / {
            root   html;
            index  index.html index.htm;
            autoindex on;#开启自动列目录
        }

위 내용은 Nginx 가상 호스트를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제