>  기사  >  백엔드 개발  >  포트 80을 공유하도록 여러 사이트를 구성하는 nginx 문제를 해결하는 방법

포트 80을 공유하도록 여러 사이트를 구성하는 nginx 문제를 해결하는 방법

不言
不言원래의
2018-06-11 14:11:317907검색

이 글에서는 포트 80을 공유하도록 여러 사이트를 구성하는 nginx의 솔루션을 주로 소개합니다. 이 글에서는 이를 매우 자세하게 소개하고 특정 참고 가치가 있으므로 필요한 친구는 참고할 수 있습니다.

한 곳만 변경하면 됩니다. , http에서 모듈에서 참조하려는 가상 호스트 구성 파일 디렉터리를 추가하세요.

예: include /usr/local/nginx/default.d/*.conf;

http {
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
  access_log /var/log/nginx/access.log main;
  sendfile      on;
  tcp_nopush     on;
  tcp_nodelay     on;
  keepalive_timeout  65;
  types_hash_max_size 2048;
  include       /etc/nginx/mime.types;
  default_type    application/octet-stream;
  include /usr/local/nginx/default.d/*.conf; //就这里加一行就可以了
}

2. 디렉토리:

in/usr/local/nginx/下面建立default.d 웹 사이트 구성 파일을 저장하기 위한 폴더입니다.

내 구성 중 하나 게시:

/usr/local/nginx/default.d/mytest.conf

server {
  listen    80 ;  //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。
  server_name mytest.com; //这里写你想设置的域名,可以写多个,与名之间用空格隔开
  root     /mnt/share/mytest.com;  //这里是你虚拟机的根目录,写绝对路径
  # Load configuration files for the default server block.

  location / {
    index index.php index.html index.htm; //这里配置默认访问的页面
  }
  location ~* \.php$ {  //这里配置php解析.php文件

    fastcgi_index  index.php;
    fastcgi_pass  127.0.0.1:9000;
    include     fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  SCRIPT_NAME    $fastcgi_script_name;
  }
  error_page 404 /404.html;  //默认的错误页面
    location = /40x.html {
  }
  error_page 500 502 503 504 /50x.html;
    location = /50x.html {
  }
}

다른 구성:

server {
    listen    80;
    server_name www.mytest1.com;
    root     /var/www/html;
    index index.html index.htm index.php;
    location / {
      try_files $uri $uri/ /index.php?$query_string;
    }
    location = /favicon.ico {
     log_not_found off;
    }
    location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }
}

3. 다른 가상 머신을 구축하려면 동일하게 위의 내용을 복사하세요. file 에서 제가 표시한 몇 군데만 수정하세요!

4. 가상 머신 구성 파일을 구성한 후 Linux의 호스트 파일 아래에 위의 도메인 이름을 추가해야 합니다. 그렇지 않으면 계속 외부 네트워크에 액세스하게 됩니다.

vim /etc/hosts
127.0.0.1  mytest1.com
127.0.0.1  mytest.com

5. Windows 가상 머신의 Linux에서 웹 사이트에 액세스하려면 Windows에서도 호스트 파일을 구성해야 합니다. 예:

192.168.0.27  mytest1.com
192.168.0.27  mytest.com

6. :

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/

이 문제가 발생하면 다음과 같아야 합니다.

server {
  listen    80

여기서 80 이후의 모든 항목을 제거하고 포트 번호 80만 남겨 둡니다. 이를 제거하면 문제가 해결됩니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

Nginx는 thinkphp index.php

을 숨기도록 PATHINFO를 구성합니다.

위 내용은 포트 80을 공유하도록 여러 사이트를 구성하는 nginx 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.