important参考文章
- http://thelazylog.com/deploying-rails-application-with-nginx-puma-and-mina/
- https://gorails.com/deploy/ubuntu/
- http://xufei.logdown.com/posts/2014/03/05/rails-mina-puma-nginx
用户管理
查询当前用户信息
1 | $ who am i # 伪终端的用户名 伪终端序号(pts/0) 打开时间 |
创建用户
新建一个叫 mars 的用户:
1 | sudo adduser mars # 默认生成的 用户组 和 用户名 相同 |
切换用户到mars
1 | su -l mars |
用户组
查看用户属于哪些用户组
1 | groups mars |
将其它用户加入 sudo 用户组
1 | $ su -l mars # 切换登录用户 |
会提示 mars 不在 sudoers 文件中,意思就是 mars 不在 sudo 用户组中,至于 sudoers 文件(/etc/sudoers)你现在最好不要动它,操作不慎会导致比较麻烦的后果。
使用 usermod
命令可以为用户添加用户组
- -a<追加> 把用户追加到某些组中,仅与-G选项一起使用。
- -g<群组> 修改用户所属的群组。
- -G<群组> 修改用户所属的附加群组。
usermod -g 这条命令编辑/etc/passwd文件,修改相应用户的组ID
usermod -G 这条命令编辑/etc/group文件,增加组成员。
eg: 把mars
用户加入sudo
组: usermod -aG sudo mars # 多个组之间用空格隔开
1 | $ groups mars |
删除用户
1 | sudo deluser mars --remove-home |
Linux 文件权限
变更文件所有者
1 | $ sudo chown [新用户名] [文件名] |
修改文件权限
1 | $ chmod 700 iphone6 # 现在,其他用户已经不能读这个“ iphone6 ”文件了 |
方式二:加减赋值操作
1 | $ chmod go-rw iphone6 |
g
、o
还有 u
分别表示 group
、others
和 user
,+
和 -
分别表示增加和去掉相应的权限。
添加SSH 到服务器
1 | cd ~ |
服务器生成ssh key
1 | $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
安装nginx
rails ngnix配置 参考1
1 | $ [sudo] apt-get update |
配置文件: (配置文件所在目录:/etc/ngnix/sites-enabled/)
1 | $ cd /etc/nginx/conf.d |
使配置生效:
1 | sudo service nginx reload |
1 | sudo service nginx start |
vim /etc/nginx/sites-available/wedesign.conf
1 | upstream wedesign { |
creating symlink in /etc/nginx/sites-enabled
1 | sudo ln -sf /etc/nginx/sites-available/wedesign.conf /etc/nginx/sites-enabled/wedesign.conf |
启动报错可以执行下面命令,会打印出错误信息(个人测试)
1 | sudo nginx -t -c /etc/nginx/nginx.conf |
mina
1 | bundle exec puma -e production -b unix:///mnt/www/wedesign/shared/tmp/sockets/puma.sock |
安装git
1 | sudo apt-get install git |
安装rbenv
1 | sudo apt-get install rbenv ruby-build |
手动安装:
1 | git clone https://github.com/rbenv/rbenv.git ~/.rbenv |
安装ruby
1 | sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev |
安装mysql
检查系统中是否已经安装了MySQL
1 | sudo netstat -tap | grep mysql |
如果没有安装,则安装MySQL.
1 | sudo apt-get install mysql-server mysql-client libmysqlclient-dev |
测试安装是否成功:
1 | sudo netstat -tap | grep mysql |
也可通过登录MySQL测试
1 | mysql -uroot -p |
MySQL的一些简单管理:
1 | # 启动MySQL服务: |
MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况):
1 | # 数据库存放目录: |
图形软件
1 | Navicat |
安装node
1 | sudo apt-get install nodejs |
mina 和 cap部署的配置方式
mina
首次部署可能无法自动创建数据库
1 | cd /mnt/www/wedesign/current |
成功部署相关配置
/mnt/www/wedesign/shared/config/
puma.rb
1 | #!/usr/bin/env puma |
database.yml
1 | default: &default |
secrets.yml
1 | production: |
/etc/nginx/sites-available/
wedesign.conf
1 | upstream wedesign { |
then
1 | $ sudo ln -sf /etc/nginx/sites-available/wedesign.conf /etc/nginx/sites-enabled/wedesign.conf |