当前位置:首页 > CN2资讯 > 正文内容

通过阿里Homebrew 安装Ruby

3天前CN2资讯


1. 为何选择阿里云

假如你开发了一个网站,或者想开发一个网站,开发完之后,你得让人访问吧。别人能访问,就得把你的网站放到英特网上。那就得把代码和数据都放到英特网上,这样别人才能访问。存放这些代码或数据的就是叫主机或空间。它们有什么区别呢。主机包括云主机,vps等。具体是啥,我们先不管,反正你先想成是一台台计算机就好了,而且有ip,通过ip,上网能访问到。空间就是在主机上切出一部分给你使用,这种限制多多,例如容量大小的限制,安装环境的限制等。知名的云空间提供商你可能听过的有herokusinaapp等 。heroku我使用过,在国内访问慢,而且收费,使用这种类似的东西很受heroku原始安装环境的限制,例如你要添加一些服务的话,不能自己手动安装,只能用heroku提供的服务,而且有些还是收费的,这就缺少自由和灵活了。以我使用过的经验来说,这种东西我是不会考虑的。接着考虑一下vps,国内好像没听过太出名的vps产商,国外的就有,不过选择主机我是优先选择国内的,第一速度快,第二,国外的,万一哪天被隔绝了(你懂的),那就得哭死。相对而言,vps还比较贵。所以不考虑。那就选择云主机。国内的云主机也有蛮多家产商的。例如阿里腾讯uclond青云。我只用过阿里,第一它是大公司出品,第二在国内。其他的我没用过,就不评论了。阿里的价格我不说贵还是便宜,但在我的接受范围内。不过用阿里的主机,你的网站得备案。其实,现在备案也是蛮简单的,我说的是个人备案,你只要填写资料,到时候拍些照片,然后再寄些资料,快的话,大约一个星期就搞定了。这点不用担心。

2. 安装和注意事项

阿里云有很多linux发行版本,我选择的是ubuntu 14.04。在这里我会指出一些安装方法,或者提一些注意事项。并不会从头到尾安装一次,具体方法不懂的google就好了。大部分安装就是用apt-get install,相信只要懂ubuntu的人都会知道。如果不知道具体的安装,类似搜索google ubuntu install mysql就好了。相似google到的答案比别人给的更好。

既然是安装ruby on rails部署环境,我们来列出要安装的内容。

  • web服务器nginx
  • 数据库mysql或postgresql
  • redis
  • imagemagick
  • nodejs
  • git

具体安装啥就取决于你自己。至于ruby的版本工具我选择的是rbenv,生产环境一般都用这个,开发环境才用rvm。web应用容器我选择的是unicorn或puma。

我们来开始安装了。

假如你已经在阿里云上建立好主机,并设置了root的账号和密码。假设你能用ssh root@yourserverip登录了。

首先,按照传统的习惯或者一种安全的规定来说,你总不能老是用root账号来操作。你要给自己建立一个账号。以后就要这个账号来操作。这样才安全点。

2.1 添加操作账号

你可以用google搜一下如何在linux下添加用户,一般是用useradd这个指令。

例如

useradd hfpp2012 # 设置密码 passwd hfpp2012

要给它新增加目录的。如果没有,就手动加好了。

mkdir /home/hfpp2012 chown -R hfpp2012:hfpp2012 /home/hfpp2012/

或许有更好的方法。具体就不深究了。

再验证一下那个账号是否被添加到系统,可以查看/etc/passwd文件

要确保它能登录,最后的shell,要是/bin/bash,不然的话是登录不了的。

添加的用户需要用sudo指令,也就是具有root权限。

$ sudo visudo # 把下面这行 %sudo ALL=(ALL:ALL) ALL # 改成 %sudo ALL=(ALL) NOPASSWD:ALL # 添加到sudo组 usermod -a -G sudo hfpp2012

具体的自己google

2.2 安装nginx

首先更新一下软件源

sudo apt-get update

在ubuntu下安装nginx一条命令就够了

sudo apt-get install nginx

在ubuntu源中装到的nginx版本可能并不高,如果你需要用websocket等功能,可能需要1.4以上,这个时候可以选择编译安装。

如果要编译安装,可以看这篇文章nginx的安装。

2.3 安装git

版本控制工具git,下载代码用,必须安装

也只是一条命令就够了

sudo apt-get install git
2.4 安装redis

redis可以作为cache用,也可以用于消息队列。总之,好处多多。

由于ubuntu源中的redis版本不够新,我选择的是编译安装。如果要手动安装也只需要一条命令。

sudo apt-get install redis-server

不过可能装到的是2.8版本的。我需要新来redis的稳定版3.0及以上的。从官网下载最新的安装包。其中复制那个下载地址就好了。然后到阿里云主机上。用wget url,url就是你复制的下载网址。这样就下载到阿里云了。

# 解压 tar xvf redis-3.0.3.tar.gz cd redis-3.0.3 # 编译 make # 安装,需要加sudo,因为要复制文件到系统目录中 sudo make install

安装完是没有给你自动启动redis服务的,这点跟apt-get安装不太一样。你需要处理一下。

cd utils/ # 安装和复制脚本 sudo ./install_server.sh

启动和停止服务用下面的指令。

sudo service redis_6379 start sudo service redis_6379 stop

你自己可以ps -ef | grep redis看一下是否启动了服务。

如果你要设置开机即启动的话就这样

sudo update-rc.d redis_6379 defaults

还有重要的一个安全问题。

默认安装完毕后,redis是不用密码就能使用的。也就是说,无论是本地(阿里云主机),或者远程,你都可以访问redis。这样很不安全。

解决方法当然可以是设一个密码啊。用CONFIG set requirepass这个指令或者AUTH指令就好了。当然另一个更简单的方法。只要是本地访问不要密码,因为是信任的,如果是远程就不能访问。那也很简单。打开/etc/redis/redis.conf文件。

设置这一行就好了。

bind 127.0.0.1

让它绑定本机。

作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置。

# 限定最多使用1.5GB内存 maxmemory 1536mb
2.5 安装nodejs

使用ruby on rails都知道要安装这个的啦。编译coffeescript也是靠它。

也就一条命令

sudo apt-get install nodejs
2.6 安装mysql

也就是一条命令,中间需要你设置用户名和密码。

sudo apt-get install mysql-server

ruby的mysql2 gem在编译时需要安装上相应的mysql头文件开发包。也就是类似lib dev这样的包。

有个技巧是这样

sudo apt-cache search mysql | grep dev

找到类似libmysql+±dev这样的来安装就好,如果实在不知道,在安装ruby mysql2 gem时找到报错那一行往google上一贴,一般就能找到答案了。因为这种问题很常见。

我们要掌握的是方法,是规律,而不是内容,内容是记不住的,是无穷尽,规律或简单的内容却能记住。

2.7 安装imagemagick

图形处理,例如上传图片的裁减,验证码等都需要这个软件。

sudo apt-get install imagemagick
2.8 安装postgresql

作为数据库,postgresql是我比较喜欢的,它支持很多类nosql的特性,例如hstore扩展,还支持较为强大的全文检索,还有window function等等。

sudo apt-get install postgresql libpq-dev

需要设置一下postgres的密码,以后就能用这账号postgres和密码访问数据库了。

sudo -u postgres psql ALTER USER postgres WITH PASSWORD 'postgres';
2.9 生成ssh key

这个是非对称加密的key,用于加密连接或部署等。

ssh-keygen -t rsa -C "[email protected]"

这个指令会生成两个文件 ,放在家目录的.ssh目录下。一个叫id_rsa.pub,另一个叫id_rsa。

部署github、coding等都需要用它的。

id_rsa.pub是公钥,id_rsa是私钥,简单地说,它们是对应的,是成对出现的,用公钥加密的只能用私钥解密,用私钥加密的只有用公钥解密。公钥是可以给他人的,私钥是要自己保管的,不能泄露,就简单说下,具体地,以后会有单独的文章来介绍非对称加密。

还有一个问题是这样的。每次用ssh进入阿里云主机需要输入密码,好麻烦。其实可以这样的。

.ssh下有个文件叫authorized_keys,只要复制你本机上的id_rsa.pub的内容作为一行添加到authorized_keys中就可以了。

以后不用再输入密码了。

2.10 安装rbenv和ruby

关于rbenv的安装可以先用google搜一下,进入其官方的github看readme文档更为详细些。

# 安装一些必要的库 sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev git clone https:///sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

安装ruby-build,它提供install指令。

git clone https:///sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

选择你要安装的版本,安装ruby。

rbenv install 2.3.0 rbenv global 2.3.0

这样只要能使用ruby -v查看到你期待的版本就算成功了。整个安装过程就结束了。

3. 总结

整个安装过程,因个人的环境或能力所限,会遇到各种各样的问题,只要耐心地查google,一般都能解决的,要不断地总结。要确定你要装什么就去装就好了,不懂的,不明白的就google。遇到一些问题也别急,不要放弃,总有办法解决的。安装和运维问题最需要耐心的,越急事儿越做不好,也不能乱安装,不然出现的问题更多,尽量搜索到最新的文章,最好的办法或最正规的方法来安装。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/20247.html

    分享给朋友:

    “通过阿里Homebrew 安装Ruby” 的相关文章

    如何优雅退出ping -t命令:实用技巧与方法指南

    在当今的网络世界里,许多人时常需要检查网络连通性。这个时候,'ping'命令就显得非常实用。简单来说,'ping'命令的主要作用是检测与特定目标主机之间的连接状态。通过发送ICMP回显请求,它可以告诉我们目标设备是否可达,延迟情况如何等信息。 在众多的‘ping’命令中,‘ping -t’是特别常用...

    Windows SSH Client安装与配置指南

    在Windows 10版本1809及以后的版本中,微软引入了OpenSSH客户端,这让很多用户的远程管理变得更为便捷。作为一个IT爱好者,我发现这个特性非常有用,它让我能够轻松地通过SSH协议安全地连接和管理远程服务器。接下来,我将分享一些Windows SSH客户端的安装和配置过程,方便大家快速上...

    水牛VPS:高性能虚拟专用服务器的最佳选择与比较

    水牛城VPS,顾名思义,是在美国纽约州布法罗市托管的虚拟专用服务器。这种服务器因其独特的地理位置和优越的技术配置,吸引了众多用户,特别是需要高性能和灵活性的网站和应用程序。这类服务的定义非常简单,但其特点却非常丰富。通常来说,水牛城VPS提供了良好的网络带宽、灵活的存储选项,以及能够根据用户需求进行...

    RFCHOST评论:高性能VPS与流媒体解锁的完美选择

    RFCHOST概述 RFCHOST是一家自2015年成立的公司,隶属于上海花卷科技。作为一家新兴的网络服务企业,RFCHOST专注于提供国际线路深层挖掘与构造网络通信服务的一体化解决方案。我一直关注着这个快速发展的品牌,尤其是它在香港和洛杉矶VPS业务上的持续投入与创新。 随着全球数字化进程的加速,...

    如何选择合适的VPS进行购买:关键因素解析

    选择合适的VPS进行购买是一项涉及多个因素的决策。VPS,即虚拟专用服务器,是一种介于共享主机和独立服务器之间的托管解决方案。特别适合需要灵活性和可扩展性的用户,无论是个人开发者、企业还是网站管理员。这种灵活性让VPS成为现代网络环境中一个非常受欢迎的选择。 VPS与传统的共享主机存在显著区别。传统...

    获取美国住宅IP的全面指南:确保真实网络体验

    当我提到美国住宅IP地址时,脑海中总会浮现出那些连接到真正家庭网络的IP地址。这些地址并不是随便通过网络数组获取的,而是直接来源于美国的居民家庭网络。这样说来,我们可以简单理解为,美国住宅IP是一种具有真实家庭特征的网络身份。 美国住宅IP的定义并不是一个复杂的概念。它具有纯净度高、不易被识别为机器...