# Nginx 如何配置多個網站共用 80 port

# 一個 port 並非只能給一個 service 使用

我們都知道,一個網站若要能讓外部訪問,要放在 80 port。那如果我今天有超過一個網站想要給外部訪問的話,該怎麼辦呢?難不成要再多租一台主機嗎?

其實不用。

我們可以透過設定 Nginx 來讓不同網址共享 80 port。

設定方式非常簡單,只需要在我們 nginx 下的設定檔新增下面這段設定腳本就完成了。

server {
    listen       80 ;   // 把 default_server 去掉,不然會報錯。因為我們不再以某台server為 default server
    server_name  mytest.com  mytest111.com;  // 這邊填寫你要的網址,可以多個。
    root         /mnt/share/mytest.com;   // 設定網站存放的路徑
    # Load configuration files for the default server block.
    location / {
        index  index.php index.html index.htm;  // 設定默認訪問的頁面格式
    }
    location ~* \.php$ {   // 設定php格式的文件可以被解析
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

當然我們也可以將此設定單獨寫成獨自的設定檔,使用 import 的方式引入。

如此就完成了! 輕鬆愜意。

Like z20240z's work