是的,一台 Nginx 服务器完全可以支持两个(甚至多个)前端项目的访问。这是 Nginx 的常见用途之一。
你可以通过配置不同的 server 块(server block) 或使用 location 路由 来实现多个前端项目的部署和访问。
以下是两种常见的实现方式:
✅ 方式一:基于不同域名(或子域名)访问
假设你有两个前端项目:
- 项目 A:
project-a.com - 项目 B:
project-b.com
Nginx 配置示例:
# 项目 A
server {
listen 80;
server_name project-a.com www.project-a.com;
root /var/www/project-a;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# 项目 B
server {
listen 80;
server_name project-b.com www.project-b.com;
root /var/www/project-b;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
只要你的 DNS 将
project-a.com和project-b.com都解析到这台 Nginx 服务器的 IP,就可以同时访问两个项目。
✅ 方式二:基于同一域名的不同路径访问
如果你想用同一个域名访问两个项目,比如:
example.com/app1→ 前端项目1example.com/app2→ 前端项目2
Nginx 配置示例:
server {
listen 80;
server_name example.com;
# 项目1
location /app1/ {
alias /var/www/project1/;
index index.html;
try_files $uri $uri/ /app1/index.html;
}
# 项目2
location /app2/ {
alias /var/www/project2/;
index index.html;
try_files $uri $uri/ /app2/index.html;
}
}
注意:使用
alias而不是root,因为location中有路径前缀时更合适。
✅ 补充说明
- 每个项目应部署在独立的目录中(如
/var/www/project1,/var/www/project2)。 - 如果项目是单页应用(SPA),建议配置
try_files正确处理前端路由。 - 支持 HTTPS:可以为每个域名配置 SSL 证书(使用 Let’s Encrypt 等)。
- 性能方面:Nginx 是轻量级高性能服务器,同时服务多个静态站点完全没问题。
🔧 示例文件结构
/var/www/
├── project-a/
│ └── index.html
│ └── js/, css/, etc.
├── project-b/
│ └── index.html
│ └── assets/, ...
✅ 总结
| 功能 | 是否支持 |
|---|---|
| 同时部署两个前端项目 | ✅ 是 |
| 不同域名访问 | ✅ 推荐方式 |
| 同一域名不同路径访问 | ✅ 可行 |
| HTTPS 支持 | ✅ 可单独配置 |
只要合理配置 Nginx 的 server 和 location 块,一台 Nginx 完全可以轻松托管多个前端项目。
如有具体项目类型(Vue、React、Angular 等),也可提供更详细的配置建议。
云小栈