不用装宝塔 多个网站 反向代理**——一台服务器挂多个站点,不用装面板也能做。极目Linux桌面的应用中心和 Nginx 管理能帮你建多个站点、配反向代理,不用背 Nginx 的 server 块。先给结论:多网站的本质是"一个 Nginx 按域名分流到不同目录或端口",面板点一下背后也是这段配置。
一个服务器放多个网站,原理是什么?
一台服务器一个公网 IP,但你有多个域名都指向它。Nginx 收到请求时看"访问的是哪个域名",把不同域名引到不同网站目录——这就是虚拟主机。
另一种情况:多个服务跑在不同端口(比如两个应用各占 3000、4000),你用一个 Nginx 在 80 端口"前台"按域名把流量转给后台端口,这就是反向代理。
两种都是 Nginx 配置,面板帮你点出来,客户端和命令行让你自己写。
不用装宝塔,怎么建第二个站点?
用极目 Nginx 管理,加一个 server 配置,填域名、指目录就行。底层是这段:
server {
listen 80;
server_name site-a.com;
root /var/www/site-a;
}
server {
listen 80;
server_name site-b.com;
root /var/www/site-b;
}
两个 server 块,按 server_name 分流。宝塔的"添加站点"生成的也就是这个。
反向代理是什么,为什么多网站要用?
反向代理是:Nginx 在 80 端口收请求,按域名转给后台不同端口的服务。适合你的站点不是静态文件、而是跑在应用里的场景(比如 Node、Python 应用各占一个端口)。
server {
listen 80;
server_name app-a.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
这样公网只开 80/443,后台端口不暴露,安全和整洁都好。
不同域名指向同一台,怎么分流?
靠 server_name 区分。每个域名一个 server 块,Nginx 按请求头里的域名匹配对应块。多个域名也可以合到一个块(用空格列多个),但分开更清晰、便于单独改。
前提是域名都解析到了这台服务器 IP,否则 Nginx 收不到对应域名的请求。如果域名没解析过来,Nginx 会用默认 server 块(配置里第一个)兜底,容易让人误以为配置错了,其实只是 DNS 还没生效,等解析生效再测就对了。
面板点 vs 手写 Nginx,差在哪?
| 动作 | 宝塔(网页点) | 客户端 / 手写 |
|---|---|---|
| 建站点 | 填域名指目录点确定 | 配 server 块 |
| 反向代理 | 网页填转发目标 | 写 location + proxy_pass |
| 看现有配置 | 网页列 | nginx -T |
| 改错回滚 | 网页改 | 改文件 + nginx -t |
结果一样,区别在写配置的方式。极目把 Nginx 管理做成界面,不用你手写 server 块也能配;想精细控制时也能直接改配置。
证书怎么给每个站点都配上?
每个域名各申请一张证书。极目 AutoSSL 或面板自动证书,逐个域名点申请,Nginx 里各自 listen 443 ssl 指证书路径。泛域名(*.com)要 DNS 验证,界面不一定支持,那种得手动 certbot。
配完 nginx -t 校验,确认没语法错再 reload。多站点场景下,证书过期是最容易被忘的,建议把每个域名的到期日记到一个清单里,或者直接开 AutoSSL 的自动续期,别等浏览器报红才想起来。
某个站点挂了,会不会拖累其他?
不会互相拖垮进程,但会抢同一台机器的资源。一个站点流量暴涨或内存泄漏,CPU、内存被占满,其他站点会变慢——这是"同机多站"的本质风险,和用不用面板无关。
隔离做法按场景选:
| 隔离手段 | 怎么做 | 适合 |
|---|---|---|
| 限 PHP 进程数 | 各站点配 php-fpm pool | PHP 站点 |
| 容器化 | 每站点一个容器 | 应用类站点 |
| 资源视图盯梢 | 客户端看谁在吃资源 | 所有场景 |
定位最快的办法是看资源视图:极目的资源面板能按进程看谁在占 CPU 内存,一眼锁定异常站点;命令行用 top -c 或 htop 按内存排序也行。找到之后,先重启那个站点的 php-fpm 或应用进程救急,再查为什么涨——多半是某个插件或请求风暴。同机多站最怕"不知道谁在作妖",所以日常留一份资源快照比事后救火强。
怎么确认分流是对的?
三步:域名都解析到服务器 IP;nginx -T 看到每个 server 块配置正确;浏览器逐个打开域名看是不是对应站点。哪域名打不开,先查解析和 server_name 有没有匹配上。
不用装宝塔 多个网站 反向代理,本质是"Nginx 按域名分流",面板点是点、写配置是写、客户端配是配,背后都是 server 块。记住域名要解析到这台机、改完先 nginx -t 再 reload、同机多站要盯资源,这三点比工具本身要紧。
常见问题
Q:我用极目建多站点,比宝塔麻烦吗?
不麻烦,网站目录和域名填好就行,极目的 Nginx 管理把 server 块做成了表单,不用手写。比宝塔多一点"要理解 server_name 是什么"的概念,但也就这一层。真正复杂的多域名+反向代理混合场景,极目也支持直接改配置,比纯手写顺手,比宝塔灵活。
Q:多个网站共用一个 Nginx,一个挂了会不会全挂?
不会全挂。Nginx 是统一入口,某个后端站点进程挂了,只影响那个域名的请求返回错误,其他域名照常。但要注意:如果挂的是 Nginx 本身(配置写错 reload 失败),那全部站点都受影响。所以改完配置一定 nginx -t 校验再 reload,这步能拦住绝大多数全挂事故。
Q:我想把两个应用分别放在 3000 和 4000 端口,用宝塔和极目哪个好配?
两种都能配反向代理,把 80 按域名转到这两个端口。宝塔在站点设置里填转发目标,极目在 Nginx 管理里配 location + proxy_pass,结果一样。差别在界面位置,不在能力。如果你应用多、端口杂,用极目直接改 Nginx 配置反而更直观,不用在宝塔多个页面间跳。
Q:不用装宝塔,SSL 证书每个域名都要单独申请吗?
标准单域名要每个申请,但可以在一个证书里包含多个域名(SAN),一次申请多个。极目 AutoSSL 或面板自动证书逐个点或批量都行;如果是泛域名 *.你的域,必须 DNS 验证,界面不一定支持,那种用 certbot 配。证书配在各自 server 块的 443 上,别漏了哪个域名。
Q:我加了一个新站点但打不开,怎么排查?
按顺序:域名解析到这台服务器 IP 没(ping 域名 看指向);Nginx 里这个 server 块在不在、server_name 对不对(nginx -T 看);站点目录和文件在不在;防火墙 80/443 放行没。极目里每样都有对应视图,逐个看比重配快。最常见是两个:域名没解析对、server_name 拼错。
最后看分流靠 server_name
不用装宝塔 多个网站 反向代理,核心是一个 Nginx 按 server_name 把不同域名引到不同目录或后台端口。面板、客户端、命令行做的都是同一份配置,差别只在你用什么写。记住域名解析到这台机、改完 nginx -t 再 reload、同机多站要盯资源,这三件比工具要紧。
1万+



被折叠的 条评论
为什么被折叠?



