ubuntu 安装 ruby on rails 生产环境
ubuntu 安装 ruby on rails 生产环境1.创建deploy 用户。
ubuntu 安装 ruby on rails 生产环境
1.创建deploy 用户
sudo adduser deploy
sudo usermod -aG sudo deploy
echo “deploy ALL=(ALL:ALL) ALL” >> /etc/sudoers
su - deploy
服务器上执行,全部直接回车
ssh-keygen -t rsa
vi /home/deploy/.ssh/authorized_keys
chmod 644 /home/deploy/.ssh/authorized_keys
更新
sudo apt update
sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev libffi-dev libyaml-dev
四、使用rbenv安装Ruby
服务器上
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
看一下,现在可安装的Ruby版本
$ rbenv install -l
解决rbenv安装慢问题,这里可以使用一个"安道"写的rbenv插件,让rbenv直接使用中国的镜像站点下载
$ git clone https://github.com/andorchen/rbenv-china-mirror.git “$(rbenv root)”/plugins/rbenv-china-mirror
安装
$ rbenv install 3.1.6
ruyb -v
编辑
vim ~/.profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
确保只有 gems.ruby-china.com
接着安装 bundler gem
$ gem install bundler
同样使用gems.ruby-china.com
$ bundle config mirror.https://rubygems.org https://gems.ruby-china.com
安装PG
https://www.postgresql.org/download/linux/ubuntu/
sudo systemctl start postgresql
sudo systemctl enable postgresql
PostgreSQL 12配置文件是/var/lib/pgsql/12/data/postgresql.conf这个位置
接下来是对数据库的操作,首先使用默认超级用户登录进入命令行
$ sudo -u postgres psql
新建deploy用户:
postgres=# create user deploy CREATEDB password ‘用户密码’;
删除用户(可选):
postgres=# drop user 用户名;
创建数据库(可选)
postgres=# create database 数据库名;
– 切换到 shops_production 数据库
\c shops_production;
– 授予 deploy 用户对数据库的 CONNECT 权限(如果尚未授予)
GRANT CONNECT ON DATABASE shops_production TO deploy;
– 授予 deploy 用户对 public schema 的 CREATE 和 USAGE 权限
GRANT CREATE, USAGE ON SCHEMA public TO deploy;
– 授予 deploy 用户对所有现有表和序列的权限
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO deploy;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO deploy;
– 设置默认权限,以便新创建的对象也自动有这些权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO deploy;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO
deploy;
如果用户没有这个数据库的权限
ALTER DATABASE 数据库名称 OWNER TO 用户名称;
GRANT ALL PRIVILEGES ON DATABASE 数据库名称 TO 用户名称;
删除数据库(可选)
postgres=# c 数据库名;
退出命令行
postgres=# \q
安装nginx
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
cd /var/www/shops/shared/config
余下参考:
https://blog.csdn.net/zaibi1547/article/details/103789765?spm=1001.2014.3001.5506
更多推荐



所有评论(0)