nginx 서버는 여러 사이트 구성을 지원하여 하나의 도메인 이름 아래에 여러 프로젝트를 배치하도록 하위 도메인 이름을 구성할 수 있습니다.
그럼 이 프로세스를 어떻게 구현할까요?
인터넷에는 많은 솔루션이 있는데 그 중 일부는 작성하기가 너무 복잡하고 일부는 잘못 구성되어 있습니다. 즉, 일부 구성 항목은 호스트의 실제 환경에 따라 구성되어야 합니다.
1. 프로젝트 경로가 /home/wwwroot/ 경로에 있고 nginx의 설치 경로가 /usr/local/nginx/ 디렉터리에 있다고 가정합니다
2. nginx가 설치되면 기본 구성 파일이 생성됩니다. 파일 경로는 /usr/local/nginx/conf/nginx.conf
3. 이제 프로젝트를 여러 도메인 이름에 매핑해야 합니다. 먼저 nginx.conf 파일의 마지막 줄을 확인하세요. 이는 현재 vhost 디렉터리의 모든 .conf 파일이 포함되어 있음을 나타냅니다. 이 시점에서 vhost 파일이 없으면 이 폴더를 만들 수 있습니다.
<span> access_log /home/wwwlogs/<span>access.log access; } include vhost/*.conf;</span></span>
4. 그런 다음 vhost 디렉토리에 추가해야 하는 새 도메인 이름 구성 파일을 만들고 이름을 custom으로 지정합니다. 그런 다음 콘텐츠를 추가할 수 있습니다. 아래에서는 몇 가지 특정 구성 항목을 설명할 수 있습니다(단순히 건너뛰기).
1.index index.html index.php 表示默认的定位的文件,假如直接访问域名,会定位到index.html或者index.php文件<br>2.fastcgi_pass 这个命令是指定将http代理到哪个fastcgi服务端接口<br>3.fastcgi_index 该指令设置的文件会被附加到URI的后面并保存在变量$fastcgi_script_name中<br>4.fastcgi_param SCRIPT_FILENAME 脚本文件请求的路径 <br>5.include fastcgi_params; 包含fastcgi_params中的所有参数
<span>server{ listen 80<span>; server_name www.news.com; root /home/wwwroot/news/<span>; location /<span>{ index index.html index.php; <span> } location ~<span> \.php$ { fastcgi_pass 127.0.0.1:9000<span>;<br> #fastcgi_pass unix:/tmp/fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include <span>fastcgi_params; } }</span></span></span></span></span></span></span></span>
5. 이 머신에서 테스트하는 경우 가상 도메인 이름을 설정한 후 자체 Linux 호스트에서 어떻게 액세스할 수 있나요?
1. /etc/hosts를 수정하여 도메인 이름을 자체 호스트에 매핑할 수 있습니다. 예를 들어 www.news.com
이전에 정의한2. 호스트 파일을 열고 127.0.0.1 www.news.com을 추가합니다
3. 호스트 파일을 수정한 후에도 여전히 접근할 수 없는 경우. 이는 여전히 네트워크 파일을 수정해야 함을 의미합니다. /etc/sysconfig/network 파일을 열고 NETWORKING=yes로 변경한 다음 서비스 네트워크를 다시 시작하고 네트워크를 다시 시작하세요.