nginx一个server配置多个location
如果想要使用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;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?