参考

https://blog.longwin.com.tw/2005/12/ssh_keygen_no_passwd/

1 选择搬瓦工左边菜单栏中的“Root password modification”,然后“Generate and set new root password”,重置前请先把V-P-S关机,否则会重置失败。重置得到的root密码务必记好,因为只会出现这一次。没记下来怎么办?再重置一次。

得到这些信息后,需要一个SSH客户端进行登录。

Linux用户

直接打开终端,输入如下命令:

ssh -p your-port root@your-ip

然后输入密码

3 添加用户

root@ubuntu#  adduser username

4添加到sudo组

root@ubuntu:~# usermod -aG sudo username

5 生成秘钥

使用新账号登录

ssh -p your-port username@your-ip

6 登陆后

mkdir .ssh

7 回到本地机器查看自己的id_rsa.pub,得到后粘贴到vps的 .ssh目录下的authorized_keys里面

簡單解說一下:

  • id_rsa: private key
  • id_rsa.pub: public key

將 public key(id_rsa.pub) 拷貝到遠端的電腦後, 加到那 user 的 .ssh/authorized_keys 中.

之後連線時, 就會用本機的 private key(id_rsa) 與遠端電腦的 public key(authorized_keys) 做認證, 確認完成就可以直接登入, 不需輸入帳號密碼, 而且也比較安全.

要關閉使用密碼登入, 只允許使用 Key 來做登入, 可修改此檔案的下述兩個參數: vi /etc/ssh/sshd_config

  • PubkeyAuthentication yes
  • PasswordAuthentication no

8 修改ssh 端口

vi /etc/ssh/sshd_config 修改 port参数

这样登入 直接使用 ssh ip

9 设置local

  vi .bashrc 

   export LC_CTYPE=en_US.UTF-8

   export LC_ALL=en_US.UTF-8

 

10 安装rvm

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/install_language_runtime.html

注意 这两个命令要执行

  sudo usermod -a -G rvm `whoami`

source /etc/profile.d/rvm.sh

安装ruby 略。。

12 安装nodejs

https://github.com/creationix/nvm

注意添加软连接 :   

sudo ln -s /home/rudy/.nvm/versions/node/v8.7.0/bin/node /usr/bin/node

13 安装git

14安装 passenger

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/xenial/install_passenger.html

14.1 检测 passnger

sudo /usr/bin/passenger-config validate-install

15 生成 rails secret key,不使用开发时用的key

bundle exec rake secret
拷贝生成的值到 config/secrets.yml的下面位置

production:
secret_key_base: 拷贝到这里,删除这里原来内容

16 可以修改文件权限,防止其他用户访问(可以不修改,酌情)

chmod 700 config db
chmod 600 config/database.yml config/secrets.yml

17 创建nginx配置文件

sudo vim /etc/nginx/sites-enabled/自己命名.conf

填入下面内容

server {
listen 80;
server_name vps ip地址;

# Tell Nginx and Passenger where your app's 'public' directory is
root /var/www/myapp/code/public;

# Turn on Passenger
passenger_enabled on;
passenger_ruby /path-to-ruby; 使用 passenger-config about ruby-command 得到
}

例如

$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/local/rvm/gems/ruby-2.3.4/wrappers/ruby
Version: ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]
To use in Apache: PassengerRuby /usr/local/rvm/gems/ruby-2.3.4/wrappers/ruby
To use in Nginx : passenger_ruby /usr/local/rvm/gems/ruby-2.3.4/wrappers/ruby 这个
To use with Standalone: /usr/local/rvm/gems/ruby-2.3.4/wrappers/ruby /usr/bin/passenger start

18 重启 sudo service nginx restart

19 如果你修改了某些配置不生效,使用 touch tmp/restart.txt重启

初始设置ubuntu 16.04 Vps部署rails的更多相关文章

  1. 设置Ubuntu 16.04 LTS的Unity启动器的位置命令

    将Ubuntu 16.04 LTS的Unity启动器移动到桌面底部命令:gsettings set com.canonical.Unity.Launcher launcher-position Bot ...

  2. Ubuntu 16.04.5部署Django环境

    1.安装python环境 使用如下命令安装的是3.5.x版本 sudo apt-get install python3-pip 如果使用下面的命令,会安装2.x版本的python sudo apt-g ...

  3. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城

    转载于这篇文章 关于pm2看这篇文章 最近在研究小程序,申请了域名之后,再一次来配置环境,根据作者的步骤基本上完成了网站的架构,但由于环境路径等不同,配置上会有所不同,因此记录下来. 1.更新系统和安 ...

  4. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  5. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  6. 用 runcloud.io 免费部署、优化管理你的多个VPS( 目前支持 Ubuntu 16.04 )

    使用RunCloud.io轻松实现Web部署 使用VPS.云服务器,通常会安装基本的操作系统,之后必须自己安装Apache,MySQL,PHP,尤其是服务器的性能优化,这对大多数人来说可能是非常具有挑 ...

  7. ASP .Net Core系统部署到Ubuntu 16.04 具体方案

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  8. 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  9. Ubuntu 16.04 LTS设置屏幕分辨率并永久保存所设置的分辨率

    一.问题: 1.新装完Ubuntu 16.04 LTS后,进入系统打开命令行窗口,界面的分辨率显示是最小的: 2.进入System settings-->Displays 设置屏幕分辨率 显示& ...

随机推荐

  1. iOS9 Https技术预研

    一.服务器需要做的事情: 1.要注意 App Transport Security 要求 TLS 1.2, 2.而且它要求站点使用支持forward secrecy协议的密码. 3.证书也要求是符合A ...

  2. Internal error(U783)

    今天打开代码时一个单元文件报这个错误Internal error(U783),不知道什么原因,然后多次关闭打开后,又没报这个错误了,记录下 http://www.aiuxian.com/article ...

  3. 设置 ssh 使用public key 免密码登录

    第一步,生成自己公钥, 私钥 1: ssh-keygen -t rsa 2:   3: root@yjlml:~# ssh-keygen -t rsa 4: Generating public/pri ...

  4. WebApi 插件式构建方案:IOC 容器初始化

    body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...

  5. SQL表连接查询inner join left join right join full join ...

    一.最常见的连接查询 select  s.name,m.mark from student s,mark m  where s.id=m.studentid. 二.内连接-inner join sel ...

  6. java.lang.IllegalArgumentException: No converter found for return value of type: class com.smart.result.Page

    今天学习了一下spring boot 中的mybatis,用mybatis来增删改查用户,获取用户,添加用户,修改用户,删除用户,修改用户,都是可以的,但是获取带分页的用户列表,一直抛出这个java. ...

  7. javascript实现八大排序

    开学一个月,已经多次梦见笔试出现数据结构算法题,我对数据结构的恐惧已经多于任何“妖魔鬼怪”了.呵呵,看来真的很有必要复习一下常用的数据结构,免得“噩梦”成真. 数据机构等编程基础的重要性不用多说,直接 ...

  8. iOS View 外层奇怪的黑线

    最近碰到一个问题,当时是为了建了一个能自动适应内容的 Label.根据内容,我计算出需要的尺寸,然后把新尺寸设置给 Label. 但是显示的时候,一个奇怪的现象出现了,Label 的顶端总是有一条浅浅 ...

  9. LOJ#2070. 「SDOI2016」平凡的骰子(计算几何)

    题面 传送门 做一道题学一堆东西不管什么时候都是美好的体验呢-- 前置芝士 混合积 对于三个三维向量\(a,b,c\),定义它们的混合积为\((a\times b)\cdot c\),其中$\time ...

  10. [RHEL] RHEL7.0 下 Postfix + Dovecot 实现邮件发送

    RHEL7.0 下 Postfix + Dovecot 实现邮件发送 一.前言 大家都对邮件服务(mail service)很感兴趣嘛.我在自己 博客站 预言了自己会实战一次,访问量一天到十几(毕竟平 ...