阿里云裸机部署rails运用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
登录阿里云后首先
sudo apt-get update

apt-get install git curl clang make nodejs openssl libssl-dev libreadline6-dev zlib1g-dev libyaml-dev libxml2-dev libxslt1-dev libpq-dev libmysqlclient-dev libsqlite3-dev libcurl4-openssl-dev unzip

———————————————
安装rvm

$ curl -L https://get.rvm.io | bash -s stable
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc
$ source ~/.bashrc
$ rvm -v

reboot重启rvm groop分组权限
-----
# rvm如果安装失败参考命令
curl -sSL https://get.rvm.io | bash -s stable 
#或者 
curl -L https://rvm.io | bash -s stable 


安装RVM依赖等
$ rvm requirements
$ rvm pkg install readline
$ rvm pkg install openssl

$ rvm install 2.3.1
$ rvm use 2.3.1 --default
rvm gemset create 3color244

----------

安装MySQL
$ sudo apt-get install mysql-server

# 加数据库驱动
# mysql client is missing. You may need to 'apt-get install libmysqlclient-dev'
apt-get install libmysqlclient-dev

--------

在使用Ubuntu的时候发现不管是终端输入中文还是终端显示中文,都会出现中文显示为问号的问题。 .解决办法如下:
sudo locale-gen zh_CN.UTF-8 即可完成中文字符集的添加,之后中文就显示正常了。


出现上面问题的原因是rails生产环境没有配置secret_key_base变量,解决方法:
$ cd project
$ bundle exec rake secret # rails 4.2.6还需要bundle exec,请根据rails版本自行匹配


跑起来项目:
git clone your project 项目拉下来。
这样代码就下载到服务器上了,然后安装gem
$ cd project
$ bundle install
创建生产环境数据库并执行迁移
$ RAILS_ENV=production rake db:create
$ RAILS_ENV=production rake db:migrate
否则最终网站页面会显示(之前heroku部署时也经常遇到)
We're sorry, but something went wrong
重新compile assets,这样所有的图片,CSS,scripts才会加载
$ RAILS_ENV=production rake assets:precompile
版权声明:本文由 数控等离子切割机  http://www.hycsk.com 整理编辑!本文章来源于网络,如有侵权,请联系云栖社区,欢迎分享本文,转载请保留出处!
---------

Step6: 安装Passenger for Nginx (注意内存必须大于1g)
Nginx是HTTP服务器,运行nginx类似于本地开启rails server,才能实现网站的访问,首先安装passenger:
$ gem install passenger
然后通过source编译的方式安装Nginx
$ rvmsudo passenger-install-nginx-module


Step6: 安装Passenger for Nginx

rvmsudo passenger-install-nginx-module


一路回车即可,在这里选择1回车:

Automatically download and install Nginx?Nginx doesn't support loadable modules such as some other web servers do, so in order to install Nginx with Passenger support, it must be recompiled.Do you want this installer to download, compile and install Nginx for you?
1. Yes: download, compile and install Nginx for me. (recommended) The easiest way to get started. A stock Nginx 1.4.4 with Passenger support, but with no other additional third party modules, will be installed for you to a directory of your choice.
2. No: I want to customize my Nginx installation. (for advanced users) Choose this if you want to compile Nginx with more third party modules besides Passenger, or if you need to pass additional options to Nginx's 'configure' script. This installer will 1) ask you for the location of the Nginx source code, 2) run the 'configure' script according to your instructions, and 3) run 'make install'.
Whichever you choose, if you already have an existing Nginx configuration file, then it will be preserved.Enter your choice (1 or 2) or press Ctrl-C to abort:1[ENTER]

最后看到这句话即安装成功
Nginx with Passenger support was successfully installed.


http {
...
passenger_root /usr/local/rvm/gems/ruby-2.3.1@3color244/gems/passenger-5.0.30;
passenger_ruby /usr/local/rvm/gems/ruby-2.3.1@3color244/wrappers/ruby;
...
}


启动linux

ps auxw | grep nginx

sudo /opt/nginx/sbin/nginx

/opt/nginx/sbin/nginx -s reload 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
资源调度 小程序 前端开发
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
|
自然语言处理 前端开发 JavaScript
国际版抖音点赞系统开发【TikTok 点赞 APP 搭建教程】
国际版抖音点赞系统开发【TikTok 点赞 APP 搭建教程】
821 0
|
10月前
|
弹性计算 运维 Java
OS-Copilot参数功能全面测试报告
作为一名运维工程师,我主要负责云资源的运维和管理。通过使用OS Copilot的-t/-f/管道功能,我顺利解决了环境快速搭建的问题,例如Tomcat的快速部署。具体步骤包括购买ECS服务器、配置安全组、远程登录并安装OS Copilot。使用-f参数成功安装并启动Tomcat,自动配置JDK,并通过|管道功能验证了生成内容的正确性。整个过程非常流畅,极大提升了工作效率。
156 12
|
12月前
|
存储 JSON 网络安全
使用 EFS 在 AWS Lambda 上安装 Python 依赖项
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
160 1
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
282 3
|
机器学习/深度学习 人工智能 Java
人工智能平台PAI使用问题之Java SDK支持哪些版本
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
可靠性(MTTF,MTTR,MTBF以及系统可靠性的计算,串联,并联,模冗余系统)
可靠性(MTTF,MTTR,MTBF以及系统可靠性的计算,串联,并联,模冗余系统)
2287 1
|
测试技术
loadrunner 场景设计-集合点设置
loadrunner 场景设计-集合点设置
593 0
|
Cloud Native 安全 Go
Go语言与gRPC的完美结合
Go语言与gRPC的完美结合
417 0
Go语言与gRPC的完美结合
|
分布式计算 Hadoop Java
Hadoop CentOS 7 安装配置
本篇根据 给力星 改动而来,文尾有来源 简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 [1] Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且
8953 0