多语言外贸站点Nginx完整多域名配置教程

动手前先把这些准备好

配置多语言外贸站点时,最常见的方式是给每个语言分配一个独立域名或子域名,例如 en.example.comzh.example.com
这样做既能清晰区分语言,也利于 SEO。
开始操作之前,请确认以下条件已经满足:

  • 一台已安装 Nginx 的 Linux 服务器(CentOS 7+ / Ubuntu 20.04+ 均可)。
  • 所有要用到的域名都已经做好 DNS 解析,指向服务器公网 IP。
  • 服务器已开放 80(HTTP)和 443(HTTPS)端口,并确认没有其他服务占用。
  • 准备 SSL 证书(推荐 Let's Encrypt 免费证书),如果用宝塔面板可直接申请。

多域名绑定 Nginx 的核心步骤

Nginx 通过 server block(也叫虚拟主机)管理不同域名。
每个语言域名单独配置一个 server 块,相互独立。
以英文和中文这两个子域名为例,操作过程如下:

  1. 创建网站目录(用于存放对应语言的静态文件或入口程序):
   sudo mkdir -p /var/www/en.example.com
   sudo mkdir -p /var/www/zh.example.com
  1. 进入 Nginx 配置目录(通常为 /etc/nginx/sites-available//etc/nginx/conf.d/,依发行版而定):
   cd /etc/nginx/sites-available/
  1. 创建英文域名的配置文件(如 en.example.com.conf):
   server {
       listen 80;
       server_name en.example.com;
       root /var/www/en.example.com;
       index index.html index.php;

       location / {
           try_files $uri $uri/ =404;
       }
   }
  1. 同上创建中文域名配置文件zh.example.com.conf):
   server {
       listen 80;
       server_name zh.example.com;
       root /var/www/zh.example.com;
       index index.html index.php;

       location / {
           try_files $uri $uri/ =404;
       }
   }
  1. 启用配置并测试语法
   sudo ln -s /etc/nginx/sites-available/en.example.com.conf /etc/nginx/sites-enabled/
   sudo ln -s /etc/nginx/sites-available/zh.example.com.conf /etc/nginx/sites-enabled/
   sudo nginx -t

如果输出 syntax is ok 代表语法正确。

  1. 重载 Nginx 使配置生效
   sudo systemctl reload nginx

避坑与高频问题

1. 默认 server 处理未匹配域名

建议在配置文件中增加一个默认 catch-all server 块,防止恶意解析指向你的 IP:

server {
    listen 80 default_server;
    server_name _;
    return 444;
}

2. HTTPS 配置缺失

生产环境必须开启 HTTPS。
推荐使用 Certbot 免费证书(针对 Let's Encrypt),一条命令即可:

sudo certbot --nginx -d en.example.com -d zh.example.com

之后 Nginx 会自动重定向 HTTP 到 HTTPS。

3. PHP 处理与伪静态

如果外贸站点是 WordPress 或 Laravel 等 PHP 项目,需在 location / 块后添加 location ~ \.php$ 块,并指定 fastcgi_pass 地址。
例如:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

不同项目需调整 root 路径和伪静态规则。

4. 子域名 / 子目录如何选择?

  • 子域名(如 en.example.com)独立性强,便于分离站点;但需要额外 DNS 记录和证书。
  • 子目录(如 example.com/en/)管理简单,但大型站点可能不利于 SEO 权重分配。

如何验证配置生效

配置完成后,用以下两种简单方法检查:

  • 命令行 curl 测试(在服务器上执行):
  curl -I http://en.example.com

返回 200 OK 表示正常;
返回 301 Moved Permanently 可能是 HTTPS 自动跳转。

  • 浏览器直接访问两个域名,分别看到各自 index.html 的内容即可。如果出现 403 或 404,请检查 root 目录权限和文件是否缺失。

结尾

多语言外贸站点的多域名配置本质上并不复杂,核心就是为每个语言域名创建一个独立的 server 块,然后确保 DNS、证书、根目录一一对应。
遇到异常时优先检查 nginx -t 输出和系统日志(journalctl -u nginx)。
本文面向新手整理了完整流程和常见陷阱,建议在实际部署时严格按照步骤操作,遇到报错先回看“避坑与高频问题”部分。

如果你还需要进一步配置负载均衡、CDN 加速或多服务器架构,可以继续阅读本站相关进阶教程。

分享到:
上一篇
fail2ban自定义规则拦截跨境扫描恶意IP
下一篇
数据库主从同步中断故障排查修复方案
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意