1
好吧,我有一臺我公司用於Web服務器的虛擬機。我們有一個內部的PHP應用程序,現在需要添加一個站點到這個服務器。問題是VM上有一個IP。我將Windows DNS Manger設置爲指向此IP,但它只會拉起主站點。有沒有一種方法可以將nginx配置到將選擇要提取哪個站點的位置?NGINX Mulitple Site Config One IP
這是我第一次現場配置:
server {
server_name develop.aspirion.com;
root /var/www/vhosts/develop.aspirion.com;
index index.html;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
這裏是我的第二個網站的配置:
server {
server_name aspirion.com;
access_log /var/log/nginx/aspirion.com-access.log;
error_log /var/log/nginx/aspirion.com-error.log;
root /var/virtual/aspirion.com/master/current/webroot;
index index.php;
location/{
# error_page 404 /index.php;
location =/{
error_page 404 =200 /index.html;
}
location ~* ^.+\.(?:css|js|jpe?g|gif|htc|ico|png|html|xml)$ {
access_log off;
expires 30d;
tcp_nodelay off;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 45s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
}
location ~* ^.+\.(?:pdf|pptx?)$ {
expires 30d;
tcp_nodelay off;
}
# TODO: never allow private files inside the web root?
location ^~ /sites/default/files/private/ {
internal;
}
location ~* ^(?:.+\.(?:htaccess|make|txt|engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(?:\.php)?|xtmpl)|code-style\.pl|/Entries.*|/Repository|/Root|/Tag|/Template)$ {
return 404;
}
try_files $uri $uri/ /index.php?$uri&$args;
}
location = /index.php {
fastcgi_pass phpcgi;
}
location = /.git {
return 404;
}
location = /patches {
return 404;
}
location = /backup {
return 404;
}
location = /robots.txt {
access_log off;
}
location = /humans.txt {
access_log off;
try_files $uri $uri/ /index.php?$uri&$args;
}
location = /rss.xml {
try_files $uri $uri/ /index.php?$uri&$args;
}
location = /sitemap.xml {
try_files $uri $uri/ /index.php?$uri&$args;
}
location = /favicon.ico {
try_files /favicon.ico =204;
}
location ~* ^.+\.php$ {
return 404;
}
}
server {
server_name munin.aspirion.com;
include sites-available/admin.conf;
}