如何修改运行中OpenEdX的域名?切换至新域名运行咨询
修改运行中OpenEdX平台域名的步骤
准备工作
- 确保新域名已完成DNS解析,指向OpenEdX服务器的公网IP
- 备份当前所有配置文件和数据库,避免操作失误导致数据丢失
1. 修改核心配置文件
针对Tutor部署(主流方式)
- 执行命令更新LMS域名:
tutor config save --set LMS_HOST=new-domain.com - 更新CMS(Studio)域名:
tutor config save --set CMS_HOST=studio.new-domain.com - 若有论坛、Notes等附属服务,同步修改:
tutor config save --set FORUM_HOST=discuss.new-domain.comtutor config save --set NOTES_HOST=notes.new-domain.com
针对原生手动部署
- 编辑LMS配置文件(通常路径
/edx/etc/lms.yml),替换LMS_BASE为新域名 - 编辑CMS配置文件(通常路径
/edx/etc/cms.yml),替换CMS_BASE为新Studio域名 - 修改
/edx/app/edxapp/lms.env.json和/edx/app/edxapp/cms.env.json,更新SITE_NAME、LMS_ROOT_URL、CMS_ROOT_URL等所有涉及旧域名的字段
2. 更新数据库中的域名记录
- 进入OpenEdX数据库(默认库名
edxapp),执行以下SQL命令:UPDATE django_site SET domain='new-domain.com', name='new-domain.com' WHERE id=1; UPDATE django_site SET domain='studio.new-domain.com', name='studio.new-domain.com' WHERE id=2; - 若有第三方登录、OAuth等配置,需同步更新数据库中对应的回调URL记录
3. 重新生成配置并重启服务
Tutor部署
- 直接重新构建并启动服务:
tutor local launch(自动处理配置生成、服务重启和证书更新) - 或分步执行:
tutor local config render→tutor local restart
原生部署
- 重新收集静态资源:
sudo -u edxapp /edx/bin/python.edxapp /edx/app/edxapp/edx-platform/manage.py lms collectstatic --noinput sudo -u edxapp /edx/bin/python.edxapp /edx/app/edxapp/edx-platform/manage.py cms collectstatic --noinput - 重启LMS、CMS和Nginx服务:
sudo systemctl restart edxapp_lms sudo systemctl restart edxapp_cms sudo systemctl restart nginx
4. 更新SSL证书(HTTPS场景)
- Tutor部署可直接生成新证书:
tutor local https create - 原生部署用certbot更新:
sudo certbot certonly --nginx -d new-domain.com -d studio.new-domain.com
5. 验证修改效果
- 访问新域名的LMS和Studio页面,确认正常加载
- 测试用户登录、课程浏览、支付(若有)等核心功能
- 查看服务日志排查错误:Tutor用
tutor local logs -f lms,原生部署查看/edx/var/log/edxapp/下的日志文件
内容的提问来源于stack exchange,提问作者Duc Tong
相关产品推荐
相关产品推荐

