У меня есть сервер Ubuntu 11.10 с nginx 1.2.1 Asumme, что мой домен: domain.com Nginx служил обратным прокси: redmine.domain.com => указать на webrick redmine на порт 3000 svn.domain.com => указать на apache2 порт 8080 domain.com, www.domain.com и весь домен (и т.д .: abc.com, def.com, ghi.com) => php-fastcgi порт 9000
Вы можете спросить, почему я должен принимать все домены (abc.com, def.com, ghi.com), да, это наша служба, которая позволяет клиентам использовать свой домен в нашем приложении Multi-Tanency.
Но проблема в том, что когда я использую abc.com (добавляю запись о файловых хостах на моем ноутбуке), для доступа к моему серверу nginx перенаправляет запрос в нашу Redmine. Я хочу, чтобы nginx перенаправлял на конфигурацию, подобную php-fastcgi.
вот моя конфигурация на Nginx: (/ etc / nginx / sites-enabled /)
Redmine
server {
listen 80;
server_name redmine.sieuthimoi.vn;
access_log /var/log/nginx/access.log;
location / {
auth_basic "Not Allow Here";
auth_basic_user_file /etc/nginx/htpasswd;
proxy_pass http://127.0.0.1:3000;
include /etc/nginx/proxy.conf;
}
}
И PHP-FastCgi
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www/site;
index index.php index.htm index.html;
# Make site accessible from http://localhost/
server_name domain.com _;
location ~ .php$ {
try_files $uri /index.php
index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/site$fastcgi_script_name;
include fastcgi_params;
}
}
Обратите внимание: domain.com работает отлично.
Кто-нибудь, пожалуйста, помогите мне. большое спасибо
Вы должны использовать listen 80 default_server;
в вашем PHP-FastCGI server
раздел.