如果想要使用nginx部署多個前端項目或者一些靜態資源的話。
我們可以使用nginx作為一台服務器使用。
1.使用不同的端口號來映射不同的資源,這樣在請求url上就必須帶有端口號
2.同一個80端口號,配置不同的location,每個location對應一個資源,例如使用80端口,location / 訪問網站; location /tmp 訪問靜態文件
方式一:
http {
server {
listen 80;
server_name ip;
location ~/group([0-9])/M00/{
root /data/fastdfs/data;
ngx_fastdfs_module;
}
location /tmp/ {
root /root/java;
}
}
}
方式二:
http {
server {
listen 80;
server_name ip;
location ~/group([0-9])/M00/{
root /data/fastdfs/data;
ngx_fastdfs_module;
}
location /tmp/ {
alias /root/java/tmp/;
}
}
}
root與alias主要區別在於nginx如何解釋location后面的uri,這會使兩者分別以不同的方式將請求映射到服務器文件上。
root:root路徑+location路徑 即:/root/java/tmp/
alias:使用alias路徑替換location路徑 即:/root/java/tmp/
alias是一個目錄別名的定義,root則是最上層目錄的定義。
還有一個重要的區別是alias后面必須要用“/”結束,否則會找不到文件的,而root則可有可無
部署前端網站實例舉例:(參考)注:前端項目放在/root/www/ 文件夾下
# 前端網站配置實例
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name (ip或者域名);
location / {
root /root/www/admin;
try_files $uri $uri/ /index.html;
}
location /pc {
root /root/www;
try_files $uri $uri/ /index.html;
}
location /shop {
root /root/www;
try_files $uri $uri/ /index.html;
}
}
}