ubuntu服务器升级-cap升级
升级后需要注意的几点
puma 5.3.2
代码:
1. Capfile
# deploy后 自动启动puma,无需手动写task来启动puma:start等
require 'capistrano/puma'
install_plugin Capistrano::Puma
install_plugin Capistrano::Puma::Systemd
install_plugin Capistrano::Puma::Nginx
puma 5.3.2
代码:
1. Capfile
# deploy后 自动启动puma,无需手动写task来启动puma:start等
require 'capistrano/puma'
install_plugin Capistrano::Puma
install_plugin Capistrano::Puma::Systemd
install_plugin Capistrano::Puma::Nginx
cap puma:systemd:config # 会生成一个systemd unit文件,并上传到服务器的/etc/systemd/system/文件夹下面。 cap puma:systemd:enable # Enable上一步上传的service
然后再执行 cap production puma:restart,这个命令会在服务器上面会执行sudo systemctl restart puma这时候提示报错了,说 systemd 的 service unit 里面,ExecStart 的命令格式有问题。我查看了一下,发现生成的 unit 文件里面,ExecStart 这一行的内容是
ExecStart=~/.rvm/bin/rvm default do bundle exec puma -C /your/deploy/path/geekweibo/shared/puma.rb
2.服务器配置
下面配置更加自己的情况修改
$ sudo vi /etc/sudoers %deploy ALL=NOPASSWD:/bin/systemctl restart sidekiq %deploy ALL=NOPASSWD:/bin/systemctl restart puma×××
Let’s create puma.service file: 如果你修改了这个启动服务文件,记得要先运行sudo systemctl daemon-reload 和再启动或重启。
$ sudo vi /etc/systemd/system/puma.service [Unit] Description=Puma Server After=network.target [Service] Type=simple User=deploy Environment=RAILS_ENV=production EnvironmentFile=/etc/environment WorkingDirectory=/home/deploy/apps/app/current/ ExecStart=/bin/bash -lc '~/.rvm/bin/rvm ruby-3.0.0@jujube do bundle exec puma -C /mwdata/www/jujube_production/current/config/deploy/puma/production_config.rb' #ExecStart=/home/deploy/.rbenv/bin/rbenv exec bundle exec puma -C /home/deploy/apps/app/shared/puma×××.rb ExecStop=/home/deploy/.rbenv/bin/rbenv exec bundle exec pumactl -F /home/deploy/apps/app/shared/puma×××.rb stop ExecReload=/home/deploy/.rbenv/bin/rbenv exec bundle exec pumactl -F /home/deploy/apps/app/shared/puma×××.rb phased-restart Restart=always KillMode=process [Install] WantedBy=multi-user.target
阅读量: 477
发布于:
修改于:
发布于:
修改于: