You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一EC2 Ubuntu实例下WordPress与React项目绑定不同域名配置求助

同一EC2 Ubuntu实例上,Apache WordPress与React站点绑定不同域名的配置方案

没问题,我来一步步帮你搞定这个配置!咱们分几个阶段操作,确保两个站点能正常访问且互不干扰。

第一步:给React站点配置Route53域名解析

首先你得在Route53里给React站点加一条A记录(用IPv6的话就加AAAA记录),指向当前EC2实例的公网IP——操作流程和你之前配置WordPress域名时完全一致,确保新域名能正确解析到你的EC2机器就行。

第二步:准备React站点(生产环境更推荐这么做)

如果是正式部署,别直接用React自带的开发服务器(就是npm start监听3000的那个),它性能差还不稳定。建议先构建生产版本:

  • 进到React项目目录,执行 npm run build,这会生成一个build文件夹,里面全是优化后的静态资源。
  • 你可以把这个build文件夹放到Apache的目录下,比如/var/www/react-site,后续直接让Apache托管这些静态文件;要是你坚持想用Node服务器托管,反向代理的思路也适用。

如果只是先测试,想继续用开发服务器,那得让它在后台稳定运行,不然终端一关进程就没了。推荐用pm2来管理:

  • 先安装pm2:sudo npm install -g pm2
  • 进到React项目目录,启动服务:pm2 start npm --name "react-site" -- start
  • 验证状态:执行pm2 status能看到这个进程在运行,且通过http://你的EC2公网IP:3000能正常访问React站点。

第三步:配置Apache虚拟主机+反向代理

Apache需要启用反向代理相关模块,然后给React站点单独创建虚拟主机配置:

1. 开启必要的Apache模块

先执行这几条命令,打开反向代理相关模块:

sudo a2enmod proxy proxy_http proxy_html rewrite
sudo systemctl restart apache2

2. 创建React站点的虚拟主机配置文件

前往/etc/apache2/sites-available/目录,新建一个配置文件,比如命名为react-site.conf,内容如下(记得替换成你的实际域名):

<VirtualHost *:80>
    ServerName your-react-domain.com  # 替换成你的React站点域名
    ServerAlias www.your-react-domain.com  # 可选,有www前缀域名的话就加上

    # 反向代理到Node的3000端口(测试场景用)
    ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

    # 托管静态build文件夹(生产环境推荐)
    # DocumentRoot /var/www/react-site/build
    # <Directory /var/www/react-site/build>
    #     Options Indexes FollowSymLinks MultiViews
    #     AllowOverride All
    #     Require all granted
    # </Directory>

    ErrorLog ${APACHE_LOG_DIR}/react-site-error.log
    CustomLog ${APACHE_LOG_DIR}/react-site-access.log combined
</VirtualHost>

3. 启用配置并重启Apache

  • 启用新配置:sudo a2ensite react-site.conf
  • 检查配置语法:sudo apache2ctl configtest,提示Syntax OK就没问题
  • 重启Apache生效:sudo systemctl restart apache2

第四步:测试访问

现在直接输入React的域名就能访问站点了,原来的WordPress域名依然正常指向80端口的WordPress站点,两者完全独立、互不影响。

额外小提示(可选:给React站点加HTTPS)

要是你想给React站点配置HTTPS,用Certbot申请免费SSL证书就行,操作和给WordPress配HTTPS差不多:

  • 安装Certbot:sudo apt install certbot python3-certbot-apache
  • 申请证书:sudo certbot --apache -d your-react-domain.com -d www.your-react-domain.com
  • 跟着提示操作即可,Certbot会自动修改虚拟主机配置,把HTTP请求重定向到HTTPS。

内容的提问来源于stack exchange,提问作者Nikola Milosevic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:25:04