nginx實現乙個網域名稱配置多個laravel專案

2021-09-11 00:13:55 字數 1023 閱讀 5507

隨著公司的子專案越來越多,會有大大小小十幾個工程(僅後端),按照原先的做法,每上線乙個專案,那麼必須要有乙個二級網域名稱對映到對應的工程上,十個工程那麼就意味著需要有十個二級網域名稱(還不包含測試環境,次生產環境等);

如此多的網域名稱不僅僅是難於管理,更重要的是比較浪費資源 ,這個問題困擾了我很久,今天終於解決了這個問題,特此記錄一下採坑日記,本文不會講nginx中各個指令的原理,而是用實際的專案配置來練習nginx指令的用法並舉一反三。

假設網域名稱為: 

阿里雲ecs + centos + nginx + php-fpm

1.工程路徑: /data/wwwroot/project1/

2.訪問路徑: /project1/

1.工程路徑: /data/wwwroot/project2/

2.訪問路徑: /project2/

1.工程路徑: /data/wwwroot/project3/

2.訪問路徑: /project3/

nginx的location指令,用法可以參考: 

nginx的alias指令,用法可以參考: 

為了實現以上的訪問形式,我們需要用到nginx裡面的location指令和alias指令,配置如下

location ^~ /$/ ;    try_files $uri $uri/ @$;    location ~ \.php$  } location @$/(.*)$ /$/index.php?/$1 last; }

說明: 上面的這個配置中的$和都是屬於在實際過程中需要替換的部分,其中$為url需要訪問的path部分,如project1,則代表的是專案的真實訪問路徑,如/data/wwwroot/project1,以 /project1 訪問為例,那麼對應的nginx的配置是這樣子的

location ^~ /project1/  } location @project1

對於project2和project3的配置只需要按照上面的配置模板依葫蘆畫瓢就可以了,最後完整nginx配置如下

nginx 配置乙個或者多個網域名稱

nginx 配置乙個或者多個網域名稱 cd etc nginx 進入到nginx目錄 vi nginx.conf server 乙個為例 server error page 404 404.html location 40x.html error page 500 502 503 504 50x.h...

Nginx 同乙個網域名稱配置多個專案

使用nginx要在同乙個網域名稱下配置多個專案有兩種方式 nginx按不同的目錄分發給不同的專案 啟用二級網域名稱,不同的專案分配不同的二級網域名稱 1.nginx按不同的目錄分發給不同的專案 server location project2 location 這裡配置了三個專案 路徑分發到http...

通過nginx實現多個網域名稱訪問同乙個伺服器

參考 多個網域名稱對應乙個伺服器,為了避免網域名稱後增加埠號,兩個網域名稱都需要占用80埠號,使用nginx來進行配置。目前專案中,線上正在使用 100 可用 多網域名稱對應乙個伺服器情況 線上ip及網域名稱替換了下 其實主要分兩步 多個網域名稱對應乙個伺服器,為了避免網域名稱後增加埠號,兩個網域名...