Ruby On Rails 阿里云UBUNTU实例


正式贴文的撰写将由部署步骤开始,因为项目实际上线的过程除编程外还有其他多种因素的影响,因此作者觉得越早部署将在一定程度上缩减开发周期。


云服务器操作系统选择(Linux)

云服务器的操作系统几乎都使用Linux操作系统,此实例选用Linux下对初学者友好的Ubuntu版本(安装 问题较少且在论坛中容易搜索到相对应的解决方法),参照网上建议选择Ubuntu的LTS版本(16.04)

租用IaaS云服务器(阿里云)

此处略去对IaaS、PaaS、SaaS的解读,此处我们选择IaaS(基础设施服务Infrastructure-as-a-Service)。

首先前往阿里云进行注册(可用支付宝,较为方便),当然,只有经过实名认证的用户才可以继续购买服务器(一般用支付宝登陆的没什么问题),对于使用其他账户登陆的,在认证完后请充值100元。然后便可前往菜单栏查找云服务器ESC服务的选项,选中后到页面进行实例创建(此处温馨提示: 阿里云有学生认证的活动,可低价购买云服务器,配置为1G2核,作者使用的型号产品就是该种)。

云服务器的产品计费方式分两种: 包年月/按量付费,对于短期练习操作的编程者来说,后者较为实惠。另外需要注意地域的选择,不同的地点因服务器等级不一致会影响连线速度,建议选择较新的华北三。阿里云内建了防火墙功能,因此需要打开对内连线 Port22(SSH登入)、Port80(HTTP)、Port443(HTTPS),所以接下来选择默认安全组,并在对应端口勾选。镜像选择公共镜像,操作系统如上描述选择Ubuntu16.04 64位。最后设置你的登陆密码,最好尽可能的复杂,避免被恶意破解。

确定无误后开通,返回控制台实例,等待启动,找到分配的实例IP位置。至此便开通成功,如果希望进一步确认,可以通过终端ssh登入:ssh root@ip公址,然后输入前面设置的密码便可。

如果练习完毕或设置错误,可以将云服务器注销掉重新配置。


Linux权限管理

root用户拥有最大的权限,一般不会直接使用它,因此将创建一个新的账号用于登陆管理:

adduser jetty #创建jetty用户
设定密码后一直按ENTER即可。 exit离开服务器,使用新的账号登入。接着为新账号提供sudo权限,新增档案 /etc/sudoers.d/jetty ,其中添加内容 jetty ALL=(ALL:ALL) ALL ,注意区分不同账号的密码!

远端登入还有另外一种形式(免密码),即通过非对称加密的方式,具体同github类似,感兴趣的读者可以自行上网查询。

Linux套件安装与更新

Ubuntu内建的套件管理工具为 apt-get ,使用服务器的步骤首先便是更新系统套件的清单,再进行升级。

sudo apt-get update
sudo apt-get upgrade -f
按ENTER继续即可,然后设定系统时区,单选ASIA,然后选择SHANGHAI。接下来安装ROR所需要的套件(代码为一段)

sudo apt-get install -y build-essential git-core bison openssl libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 autoconf libc6-dev libpcre3-dev libcurl4-nss-dev libxml2-dev libxslt-dev imagemagick nodejs libffi-dev
接下来等待安装,按ENTER即可。


Linux下安装Ruby

此间选择使用BrighBox已经编译好的Ruby套件:

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.4 ruby2.4-dev
接着输入ruby -v 观察是否输出ruby版本号,是则成功。

下一步进行Ruby套件 Bundler 的安装,用于安装Rails

sudo gem install bundler --no-ri --no-rdoc
若速度较慢,可在后面添加 --source https://gems.ruby-china.org


Linux安装数据库

由于作者偏爱postgresql,故此只提供postgresql的安装方法:

sudo apt-get install postgresql postgresql-contrib libpq-dev
安装完成后修改postgresql创建的postgres账号的密码

sudo -u postgres psql #然后打 \password 设置数据库密码
sudo -u postgres createdb new_db #创建new_db数据库备用


Nginx+Passenger网站服务器安装

在开发过程中一般使用puma这套由Ruby编写的网站服务器,但在实际生产过程中我们通常选择效能更高的Nginx(C语言开发的网站服务器)提供静态档案,和Passenger这个扩充模组来执行Ruby程序。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
sudo sh -c ‘echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list’
sudo apt-get update
sudo apt-get install -y nginx-extras passenger
待执行完之后,打开浏览器输入服务器的Ip地址就会看到默认的Nginx静态网页。


Linux防火墙安装配置

对于阿里云的云服务器而言,因为产品自带防火墙,所以这步骤可有可无。

sudo apt-get install ufw
sudo ufw default deny
sudo ufw allow 22/80/443 (拆开分别运行)
sudo ufw enable (启动防火墙)


至此,服务器的搭建便算成功了,剩下一些细致的配置将在随后其他文章中标注。

如果有遗漏或错误的地方,欢迎提出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值