`

搭建 Nginx 反向代理,提高 Gem 的安装速度

    博客分类:
  • Ruby
 
阅读更多

 

最近时常遇到 Gem 安装东西的时候安装失败或异常缓慢,我试着用 –debug 参数查看,结果发现原来是 Rubygems 指向的亚马逊服务器偶尔回遇到被墙掉的地址,而有些服务器是间歇性的连接失败或者丢包严重。

结果自然会导致 gem 安装过程起慢。FUCK THE GFW

难道我们只能这样忍受么?当然不能!!

之前曾想过在国内搞个 rubygems.org 以及后面 gem 包的完整镜像站,我试过用官方提供的 rubygems-mirror 结果发现需要同步的东西太多了,在 者也 那台服务器上面跑了两天还是没同步完(或许也是因为墙的原因),最后只好放弃。

今天我又想到了另外个方式,通过在一台国外的 VPS 主机上面,用 Nginx反向代理到 rubygems.org 以及它的其他域名,然后本地改 hosts 文件指向那台主机不就能解决连接失败和丢包的问题么!

于是动手在我的一台一直空着没用的 VPS 上面配置上了,结果表明效果确实不错,当年的安装速度又回来了!!

如果你想用我这个跳板,可以修改 hosts 文件加入:

184.82.37.134 rubygems.org
184.82.37.134 production.cf.rubygems.org
184.82.37.134 production.s3.rubygems.org

然后 gem install 的时候,访问 http://rubygems.org 的时候就会经过我那个服务器,当然这台不敢保证能有多稳定,建议您有国外 VPS 的话,还是自己搭建一个。

自己搭建代理,Nginx 配置信息可以参考这个文件:
PS: 那个好心人在国内搞个 Rubygems 的镜像吧,就像 mirrors.163.com 和 mirrors.sohu.com 那样。

分享到:
评论

相关推荐

    利用Unicorn和Nginx部署Redmine

    标题中的“利用Unicorn和Nginx部署Redmine”指的是在服务器上安装并配置Redmine项目管理工具,通过Unicorn作为应用服务器,Nginx作为反向代理和负载均衡器,来提供高效、稳定的服务。这是一个常见的Web应用程序部署...

    基于 ubuntu+jekyll 搭建个人博客

    为了使Jekyll博客能在网络上被访问,还需要安装并配置Nginx作为反向代理服务器。Nginx将负责处理外部请求,并转发给Jekyll。 ##### 3.1 安装Nginx 使用以下命令安装Nginx: ```bash sudo apt-get install nginx -...

    在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

    4. **Nginx**: Nginx是一款高性能的HTTP和反向代理服务器,常用于RoR应用的前端服务器。通过`yum`安装Nginx的RHEL官方仓库版本,或者从Nginx官网获取源码编译安装。 5. **Phusion Passenger**: 这是一个流行的Ruby...

    ruby on rails 搭建redmine

    11. **优化与安全**:为了提升性能和安全性,可以考虑使用如Nginx或Apache作为反向代理,启用HTTPS加密通信,以及定期更新Redmine和其依赖以修复潜在的安全漏洞。 12. **插件与定制**:Redmine有丰富的第三方插件,...

    Ruby-極光Rails5專屬伺服器安裝包

    3. **Nginx 1.10**: Nginx是一款高性能的HTTP和反向代理服务器,因其轻量级、高并发性而在Web服务器领域备受推崇。在Rails应用中,Nginx通常作为前端服务器,负责接收HTTP请求,然后通过Passenger转发给Rails应用...

    centos5.5 redmine安装及其插件安装

    在生产环境中,您可能还需要设置SSL、反向代理和自定义域名等。 以上就是CentOS 5.5上安装Redmine及其插件的完整过程。请注意,安装过程中可能会遇到依赖冲突或其他问题,此时需要查阅官方文档或社区资源来解决。...

    RUBYONRAILS服务器配置[收集].pdf

    - **软件需求**:服务器需要Ruby 2.12、数据库(未具体指明,但通常Rails应用会用到MySQL或PostgreSQL)、Nginx作为反向代理服务器、Redis作为缓存和队列服务,以及监控工具Monit。 2. **软件安装**: - 使用`...

    Ruby-AnsibleRubyonRails服务器Ubuntu16x

    在Ubuntu 16.x上,可以使用apt安装Nginx,然后创建一个反向代理配置,将请求转发到Puma或其他Rails服务器进程。此外,还需要配置SSL证书以实现HTTPS安全连接,特别是在处理敏感数据时。 数据库是Rails应用不可或缺...

    ruby-windows-64

    配合Nginx或Apache作为反向代理和负载均衡器,可以有效地分散到多个Ruby实例上。 6. **持续集成/持续部署(CI/CD)**: 在Windows上,Jenkins、GitLab CI/CD或Travis CI等工具可以帮助自动化构建、测试和部署流程。...

    使用 Ruby 进行 Web 应用程序的开发和部署.zip

    - **负载均衡**:使用 Nginx 或 Apache 作为反向代理服务器,进行负载均衡。 8. **性能优化**: - **缓存**:利用 Rails 缓存机制,减少数据库查询。 - **数据库索引**:为频繁查询的列添加索引提升查询速度。 ...

    Windows上的Ruby on Rails正式投入生产

    虽然Windows可能不是RoR的最佳运行平台,但可以通过开启Nginx反向代理,利用 Passenger 或者Puma Worker Killer来管理和负载平衡应用实例,以提高性能和稳定性。 安全是生产环境的关键。安装`rails_12factor` gem以...

    Eclipse开发分布式商城系统+完整视频代码及文档

    配置nginx反向代理,测试系统.avi │ 11.项目总结.avi │ 12.项目中遇到的问题.avi │ 13.quartz.avi │ aa.quartz框架.avi │ 淘淘商城第十二天笔记.docx │ ├─补充1:拔高课程(Redis3.0持久化、集群、MySQL5.6...

Global site tag (gtag.js) - Google Analytics