我想使用nginx在同一台服务器上托管2个不同的域.我通过@ property将这两个域重定向到此主机.虽然我配置了2个不同的服务器块,但每当我尝试访问第二个域时,它都会重定向到第一个域.
这是我的配置.
server {
listen www.domain1.com:80;
access_log /var/log/nginx/host.domain1.access.log main;
root /var/www/domain1;
server_name www.domain1.com;
location ~ \.php$ {
# Security: must set cgi.fixpathinfo to 0 in php.ini!
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
server {
listen www.domain2.com:80;
access_log /var/log/nginx/host.domain2.access.log main;
root /var/www/domain2;
server_name www.domain2.com;
location ~ \.php$ {
# Security: must set cgi.fixpathinfo to 0 in php.ini!
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?谢谢.
ayc*_*dee 157
你的"监听"指令是错误的.请参阅此页面:http://nginx.org/en/docs/http/server_names.html.
他们应该是
server {
listen 80;
server_name www.domain1.com;
root /var/www/domain1;
}
server {
listen 80;
server_name www.domain2.com;
root /var/www/domain2;
}
Run Code Online (Sandbox Code Playgroud)
注意,我只包括相关的行.其他一切看起来还不错,但我为了清楚起见将其删除了.要测试它,您可能希望在实际提供php之前尝试从每个服务器提供文本文件.这就是我在那里留下'root'指令的原因.
| 归档时间: |
|
| 查看次数: |
99938 次 |
| 最近记录: |