我有一台服务器,想要托管两个 Web 应用程序(例如一个站点和一个 Web 应用程序)和一个使用 nginx(和 Web 托管)的新手。
我有:
- 网络服务器(可使用 访问
http://server.name
) - 主站点地址(main.site.name 或 www.main.site.name)。其内容位于
/usr/share/nginx/www.main.site.name
- 具有特定地址(subdomain.other.site)的 Web 应用。其内容位于
/usr/share/nginx/test
我使用以下命令配置了我的主站点:
server {
server_name .main.site.name;
root /usr/share/nginx/www.main.site.name;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
我使用这个配置了我的 wab 应用程序但它不起作用:
server {
listen subdomain.other.site:80;
server_name subdomain.other.site;
root /usr/share/nginx/test;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.csv$ {
alias /usr/share/nginx/test/$uri;
}
}
此配置始终向我显示来自 /usr/share/nginx/www.main.site.name 的 index.html
我该如何重写配置以使其正常工作?我应该使用重写指令吗?但是该怎么做?
答案1
对于默认站点:
server {
listen 80 default_server;
server_name _;
# ....
}
然后,对于每个特定的已知站点:
server {
listen 80;
server_name .main.site.name;
# ....
}
server {
listen 80;
server_name subdomain.other.site;
# ....
}