ubuntu - Nginx 的虚拟主机为何只识别最上面的 server ?
阿神
阿神 2017-04-21 10:58:05
0
1
457

/etc/nginx/sites-enabled/default 中设置两个 server ,分别指向不同的应用。

重启 Nginx 后却只有写在上面的server中的内容生效,为什么?

注意

现在server中写的server_name是localhost;,还没用域名,访问时用IP地址。

系统及服务器版本

OS: Ubuntu 14.04 LTS
Nginx: 1.6.0


配置

    upstream app {                                            
        # Path to Unicorn SOCK file, as defined previously           
        server unix:/usr/share/nginx/html/app1/sockets/unicorn.app1.sock fail_timeout=0;                                                                                                                                               
    }

    server {                                                    
            listen 80;                                              
            index index.html index.htm;                                                                                                                                                                                                  
            server_name localhost;                                      
            root /usr/share/nginx/html/app1/public;                          
            try_files $uri/index.html $uri @app;                         
            location @app {                                             
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                        
                    proxy_set_header Host $http_host;                           
                    proxy_redirect off;                                        
                    proxy_pass http://app;                                      
            }          

            error_page 404 /404.html;                                   

            # redirect server error pages to the static page /50x.html                                                                                                                                                                    
            error_page 500 502 503 504 /50x.html;                       
            location = /50x.html {                                      
                root /usr/share/nginx/html/app1;                                 
            }                                                           
            client_max_body_size 4G;                                    
            keepalive_timeout 10;                                            
    }                 

    # another virtual host using mix of IP-, name-, and port-based configuration                                                                                                                                                         

    server {                                                    
        listen   80;                                               
        root /usr/share/nginx/html;                                
        index index.php index.html index.htm;                               
        server_name localhost;                                       
        location / {                                               
            try_files $uri $uri/ /index.html;                          
        }                                                          
        error_page 404 /404.html;                                    
        error_page 500 502 503 504 /50x.html;                                                                                                                                                                                            
        location = /50x.html {                                      
            root /usr/share/nginx/html;                                 
        }                                                                                                                                                                                                                                
        # pass the PHP scripts to FastCGI server listening on the php-fpm socket                                                                                                                                                         
        location ~ \.php$ {                                         
            try_files $uri = 404;                                       
            fastcgi_pass unix:/var/run/php5-fpm.sock;                        
            fastcgi_index index.php;                                    
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        
            include fastcgi_params;                                    
        }                                                           
    } 
阿神
阿神

闭关修行中......

모든 응답(1)
左手右手慢动作

다른 가상 호스트 도메인 이름은 동일할 수 없습니다. 새 server_name을 만든 다음 /etc/hosts을 편집하여 새 호스트에 대한 도메인 이름 바인딩을 추가하세요.
/etc/nginx/sites-enabled/ 디렉터리에 서로 다른 서버를 별도로 배치하는 것이 좋습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!