news 2026/7/26 14:15:56

自托管Call-me服务器:Nginx配置与SSL证书安装完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自托管Call-me服务器:Nginx配置与SSL证书安装完整教程

自托管Call-me服务器:Nginx配置与SSL证书安装完整教程

【免费下载链接】call-me🟢 WebRTC click-to-call platform for instant real-time communication in a persistent shared room with unlimited participants where users can join and call each other instantly. No signup or setup required.项目地址: https://gitcode.com/gh_mirrors/ca/call-me

Call-me是一个基于WebRTC的即时通讯平台,支持多人实时音视频通话,无需注册即可使用。本教程将详细介绍如何在自己的服务器上部署Call-me,并通过Nginx配置和SSL证书安装,确保通信安全和访问便捷。

准备工作:服务器与环境要求

在开始配置Nginx和SSL之前,确保你的服务器满足以下条件:

  • 操作系统:推荐Ubuntu 22.04 LTS
  • Node.js环境:已安装Node.js (LTS版本) 和npm
  • 域名:拥有一个已解析到服务器IP的域名(如YOUR.DOMAIN.NAME
  • 基础组件:Git、PM2(进程管理)和Docker(可选)

如果你还没有安装Node.js,可以使用NVM(Node Version Manager)快速安装:

# 安装NVM curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash # 安装Node.js LTS版本 nvm install --lts nvm use --lts

第一步:部署Call-me服务器

1.1 克隆项目代码

使用Git克隆Call-me项目到服务器:

git clone https://gitcode.com/gh_mirrors/ca/call-me cd call-me

1.2 配置与启动服务

复制配置文件并安装依赖:

# 复制配置模板 cp public/config.template.js public/config.js cp .env.template .env # 安装依赖 npm install # 使用PM2启动服务(推荐) npm install -g pm2 pm2 start app/server.js pm2 save pm2 startup

此时,Call-me服务已在http://YOUR.DOMAIN.NAME:8000运行。但直接通过IP和端口访问不够安全,接下来我们将配置Nginx和SSL。

第二步:安装与配置Nginx

2.1 安装Nginx

sudo apt-get install -y nginx

2.2 创建Nginx配置文件

编辑Nginx默认站点配置:

sudo vim /etc/nginx/sites-enabled/default

添加以下内容(将YOUR.DOMAIN.NAME替换为你的域名):

# HTTP — 重定向所有流量到HTTPS server { listen 80; listen [::]:80; server_name YOUR.DOMAIN.NAME; return 301 https://$host$request_uri; } # HTTPS — 代理请求到Node.js服务 server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name YOUR.DOMAIN.NAME; # SSL证书路径(稍后通过Certbot生成) ssl_certificate /etc/letsencrypt/live/YOUR.DOMAIN.NAME/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/YOUR.DOMAIN.NAME/privkey.pem; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://localhost:8000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }

2.3 测试Nginx配置

sudo nginx -t

如果显示nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置正确。

第三步:安装SSL证书(Let's Encrypt)

3.1 安装Certbot

sudo apt install -y snapd sudo snap install core; sudo snap refresh core sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot

3.2 获取并配置SSL证书

# 自动获取证书并配置Nginx sudo certbot certonly --nginx

按照提示输入邮箱并同意条款,Certbot会自动生成证书并更新Nginx配置。

3.3 设置证书自动续期

Let's Encrypt证书有效期为90天,通过以下命令设置自动续期:

sudo certbot renew --dry-run

3.4 重启Nginx服务

sudo service nginx restart

现在,你可以通过https://YOUR.DOMAIN.NAME安全访问Call-me服务了!

验证与测试

检查服务状态

# 检查Nginx状态 sudo service nginx status # 检查PM2状态 pm2 status

功能测试

  1. 访问https://YOUR.DOMAIN.NAME,输入用户名登录
  2. 使用另一设备访问同一地址,尝试发起通话
  3. 验证音视频是否正常传输,确保WebSocket连接稳定

进阶配置:Docker部署(可选)

如果你倾向于使用Docker,可以通过以下步骤快速部署:

# 复制Docker配置文件 cp docker-compose.template.yml docker-compose.yml # 拉取镜像并启动容器 docker pull mirotalk/cme:latest docker-compose up -d

Docker部署同样支持Nginx反向代理和SSL配置,步骤与前文一致。

总结

通过本教程,你已成功完成Call-me服务器的自托管部署,并通过Nginx和Let's Encrypt实现了安全访问。关键步骤包括:

  1. 环境准备与Call-me服务部署
  2. Nginx反向代理配置
  3. SSL证书安装与自动续期

现在,你可以享受安全、稳定的WebRTC音视频通话服务了!如需进一步配置,可参考项目文档:doc/self-hosting.md。

【免费下载链接】call-me🟢 WebRTC click-to-call platform for instant real-time communication in a persistent shared room with unlimited participants where users can join and call each other instantly. No signup or setup required.项目地址: https://gitcode.com/gh_mirrors/ca/call-me

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/26 14:14:34

Jasmine漫画浏览器:跨平台漫画阅读终极指南

Jasmine漫画浏览器:跨平台漫画阅读终极指南 【免费下载链接】jasmine A comic browser,support Android / iOS / MacOS / Windows / Linux. 项目地址: https://gitcode.com/gh_mirrors/jas/jasmine Jasmine漫画浏览器是一款功能强大的跨平台漫画…

作者头像 李华
网站建设 2026/7/26 14:14:18

音乐解锁神器:打破加密枷锁,重获音频自由

音乐解锁神器:打破加密枷锁,重获音频自由 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https:…

作者头像 李华
网站建设 2026/7/26 14:12:47

零门槛革命:用拖拽方式让Python GUI开发变得像搭积木一样简单!

零门槛革命:用拖拽方式让Python GUI开发变得像搭积木一样简单! 【免费下载链接】tkinter-helper 为tkinter打造的可视化拖拽布局界面设计小工具 项目地址: https://gitcode.com/gh_mirrors/tk/tkinter-helper 还在为Python界面开发而头疼吗&#…

作者头像 李华
网站建设 2026/7/26 14:12:37

dawson-cli安全指南:配置IAM策略与API Gateway授权的最佳实践

dawson-cli安全指南:配置IAM策略与API Gateway授权的最佳实践 【免费下载链接】dawson-cli A serverless web framework for Node.js on AWS (CloudFormation, CloudFront, API Gateway, Lambda) 项目地址: https://gitcode.com/gh_mirrors/da/dawson-cli da…

作者头像 李华
网站建设 2026/7/26 14:11:03

深入解析CC27xx LGPT3定时器:从寄存器映射到PWM、捕获与DMA实战

1. LGPT3定时器架构与核心设计思路 在嵌入式开发中,定时器是连接软件逻辑与硬件时序的桥梁,其重要性不亚于CPU本身。德州仪器CC27xx系列MCU内置的LGPT3(Low-Power General Purpose Timer 3)模块,是一个功能异常丰富的2…

作者头像 李华