重启后自动启动rails服务器
我希望我的rails服务器在每次重启后自动启动,所以我将以下内容添加到我的.bashrc文件中
rvm use 1.9.2 cd /home/user/myapp rails server
有了这个,服务器永远不会在重启后自动启动,我必须手动启动它。
此外,当我登录启动服务器时,我看到以下消息
Using /usr/local/rvm/gems/ruby-1.9.2-p290 /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby: symbol lookup error: /usr/local/rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.so: undefined symbol: sqlite3_initialize
因此,我需要在每次重启后使用“gem install sqlite3”安装sqlite3后我自己做超级用户,然后才能启动rails服务器而不会出现问题。
$ cat /etc/*-release CentOS release 5.8 (Final) $ rails -v Rails 3.1.1 $ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
有人可以帮我解决这个问题吗? 谢谢
安装Apache和Passenger
他们将负责以更安全,更系统的方式使用服务器启动您的应用程序,现在或多或少是一个标准。
我在CentOS 6上使用Rails 4,Ruby 2.1也遇到了同样的问题。如果你不熟悉bash脚本和rc,profile系统 – 设置passenger
速度和速度都快得多。
此外,还有其他原因可供您选择乘客,包括安全和性能 (www.phusionpassenger.com)
这是我介绍gem的快速方法。
-
安装Apache(html守护程序)和依赖包(如果你还没有):
yum install httpd curl-devel httpd-devel
-
让Apache开始启动:
chkconfig httpd on
-
安装Phusion Passenger和依赖包:
gem安装乘客
yum install curl-devel httpd-devel -
编译环境:
乘客安装-Apache2的模块
-
编辑etc / httpd / conf / httpd.conf中的Apache配置文件
-
取消注释包含
NameVirtualHost *:80
的行 -
将点4)的输出粘贴到文件末尾的任何位置,例如:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.1/wrappers/ruby
ServerName 1.2.3.4 # www.whatever.com DocumentRoot /var/www/rails/public # the path to your rails app AllowOverride all Options -MultiViews -
总共花了30分钟,包括httpd.conf的几次试错,以确保一切正常。
请注意,安装在您的计算机上至少需要1 GB RAM。