初始設定ubuntu 16.04 Vps部署rails

c3tc3tc3t發表於2017-10-16

參考

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重啟

相關文章