參考
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客戶端進行登入。
2 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重啟