
나는 전용 Debian 6에 2개의 다른 웹 애플리케이션을 설치했습니다. 첫 번째 애플리케이션은 /var/www/cast 안에 있고 할당된 URL은 `
example.example.com/cast
`
Airtime이라는 두 번째 설치를 설치했습니다. 두 번째 설치에서는 설치 경로를 제공하지 않아서 어딘가에 자동으로 설치되었습니다. 이제 첫 번째 설치를 입력하려고 할 때마다 두 번째 설치가 표시됩니다.. 시도하면
example.example.com/cast
그것은 Airtime으로 이어집니다. 내가 가면
example.example.com
거기도 이어지는데..
이것은 airtime-vhost 파일의 항목입니다.
<VirtualHost *:80>
ServerName example.example.com
#ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot /usr/share/airtime/public
DirectoryIndex index.php
SetEnv APPLICATION_ENV "production"
<Directory /usr/share/airtime/public>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
두 사람에게 고유한 URL을 제공할 수 있는 방법에 대한 생각이 있으신가요?
답변1
Airtime이 자체 웹 서버와 함께 제공되는 것처럼 들리지만 "cast(그것이 무엇이든)는 그렇지 않습니다. 이것이 맞습니까?
어쨌든 일반적인 문제는 여러 가지 방법으로 처리할 수 있습니다.
가능하다면 동일한 웹 서버 내에서 두 애플리케이션을 모두 실행할 수 있습니다. 이는 애플리케이션 중 하나가 다른 애플리케이션과 호환되지 않는 매우 특정한 버전의 웹 서버(Airtime 구성 파일을 기반으로 하는 Apache 가정)에 의존하는 경우에만 불가능합니다. 그러나 필요한 모든 Apache 모듈을 Apache의 단일 인스턴스에 로드하여 두 앱을 모두 실행하기에 충분하다면 예, 문서 루트 내의 별도 경로(예: /var/www/airtime)에 각 애플리케이션을 배치하기만 하면 됩니다. 및 /var/www/cast를 사용하면 "그냥 작동"합니다. 또는 /var/www에 대한 simlinking이나 Apache 구성 지시어를 사용하여 파일 시스템의 모든 디렉터리를 문서 루트에 매핑할 수 있습니다.
두 개의 서로 다른 웹 서버를 실행할 수 있지만 서로 다른 포트에서 실행할 수 있습니다. 이렇게 하면 도메인 뒤에 포트 번호가 필요한 인스턴스 중 하나 이상으로 URL이 변경됩니다. 예를 들어 포트가
http://example.com:8080/blah
어디에:8080
있는지(1024보다 크고 65000보다 작은 값을 선택하는 것이 좋으며 이를 사용하기 전에 Google에 번호를 검색하는 것이 좋습니다) 이미 실행 중인 서비스에 대해 잘 알려진 포트가 아닌지 확인하세요.두 개의 서로 다른 웹 서버를 실행할 수 있지만 서로 다른 IP 주소에서 실행할 수 있습니다. 이 방법 으로 포트 기본값을 80(또는 의 경우 443
https
)으로 유지할 수 있지만 두 개의 다른 IP가 필요합니다.두 개의 서로 다른 웹 서버를 실행할 수 있지만 동일한 IP 주소이지만 서로 다른 하위 도메인에서 실행할 수 있습니다. 그런 다음 URL 재작성을 사용하여 요청을
http://airtime.example.com
방송 애플리케이션에 자동으로 매핑하고http://cast.example.com
Cast 애플리케이션에 요청을 매핑할 수 있습니다.위의 모든 작업에 대해 구성이 충분히 강력하다면 하나의 웹 서버 내에서 수행할 수도 있습니다. Apache 웹 서버는 하나의 웹 서버 인스턴스 내에서 위의 모든 작업을 수행할 수 있을 만큼 강력합니다. 단, 더 많은 작업이 필요합니다. 일부 선택 사항에 대한 이국적인 구성 설정. 하나의 웹 서버 인스턴스 내에서 모든 것을 실행하는 것이 좋습니다.첫 번째, 이 방법은 더 유연하고 관리하기 쉬우며 포트나 IP 주소에 대해 걱정할 필요 없이 구성할 수 있기 때문에 전자의 경우 사용자와 후자의 경우 사용자가 상황을 복잡하게 만듭니다.
*:80
Airtime 구성의 문제점은 포트 80에서 서버에 대한 모든 요청이 방송 시간의 문서 루트에 매핑된다는 것을 의미하는 가상 호스트가 되려고 한다는 것입니다 /usr/share/airtime/public
. 동일한 가상 호스트 내에서 cast
애플리케이션과 애플리케이션을 모두 가져오거나, 그렇지 않으면 해당 하위 도메인에 대한 요청만 방송 시간으로 전달되도록 방송 시간의 가상 호스트를 제한해야 합니다 .airtime
*:80
airtime.example.com:80
Debian에 내장된 Apache 구성은 /etc/apache2/
디렉토리에 있으므로 거기로 가서 apache.conf
. 지시문 도 있다는 점에 유의하세요 <VirtualHost *:80>
. 글쎄, 포트 80에서 모든 요청을 처리한다고 주장하는 두 개의 가상 호스트를 가질 수는 없습니다. 그 중 하나만이 이길 수 있습니다. 거기에 문제가 있습니다.