要启动我的Rails应用,我首先转到/var/www/html/app
dir
然后我执行其余的两个命令。
1. $ cd /var/www/html/app
2. $ bundle exec rake sunspot:solr:start RAILS_ENV=production
3. $ unicorn_rails -c config/unicorn.rb -E production -D
我想省略第一行。并把它放入第2和第3命令 有可能吗?
答案 0 :(得分:2)
您可以设置别名,以便立即执行所有操作。
如果您使用的是Zsh,则可以将其添加到~/.zshrc
:
alias run_app="cd /var/www/html/app; bundle exec rake sunspot:solr:start RAILS_ENV=production; unicorn_rails -c config/unicorn.rb -E production -D"
然后,当您键入run_app
时,将执行步骤1到3。
答案 1 :(得分:2)
我发现解决此问题的最佳方法是创建自己的shell脚本。它在很多方面都很简单有用。
#!/bin/sh
# file-name: app-start.sh
cd /var/www/html/app
bundle exec rake sunspot:solr:start RAILS_ENV=production
unicorn_rails -c config/unicorn.rb -E production -D
然后
chmod +x app-start.sh
./app-start.sh
答案 2 :(得分:2)
您可以使用&&amp ;;链接任意数量的命令运营商
cd /var/www/html/app && bundle exec rake sunspot:solr:start RAILS_ENV=production && unicorn_rails -c config/unicorn.rb -E production -D
答案 3 :(得分:1)
您可以使用foreman来启动和管理这些不同的流程。
$ cd /var/www/html/app
使用以下过程创建名为Procfile
的文件,例如:
web:unicorn_rails -c config / unicorn.rb -E production -D(换行,不知道为什么SO这样做) 搜索:bundle exec rake sunspot:solr:start RAILS_ENV = production
使用foreman start
启动流程。
这是您在Heroku上托管应用时所做的事情。
答案 4 :(得分:0)
是。您可以使用以下命令:
/var/www/html/app/bundle exec rake sunspot:solr:start RAILS_ENV=production
/var/www/html/app/unicorn_rails -c config/unicorn.rb -E production -D