新手问题 Ruby 服务器部署问题

judi0713 · 2016年03月02日 · 最后由 judi0713 回复于 2016年03月04日 · 2534 次阅读

和朋友一起写了一个工作室的管理系统。然后今天在部署阿里云。部署到最后成这样了...用的是 apache2 加上 Passenger,基本上部署是按照 Agile Web Development with Rails 4 来做的。 这个是我们项目的地址https://github.com/judi0713/cmplanroutes的地址https://github.com/judi0713/cmplan/blob/master/config/routes.rb

部署过程参考了https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-passenger-and-apache-on-ubuntu-14-04https://ruby-china.org/topics/26185

我的/etc/apache2/sites-available/cmplan.conf 文件

<VirtualHost *:80>
    ServerAdmin localhost
    DocumentRoot /rails/cmplan/public/
    <Directory /rails/cmplan/public>
        AllowOverride all
        Options -MultiViews
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

apach2.conf 文件

<Directory />
        #Options FollowSymLinks
        #AllowOverride None
        #Require all denied
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /rails/cmplan/public>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

第一次部署服务器,对很多东西还不了解,寻求一下帮助...

同遇到这个问题,顶一个

是不是没放 passenger_enabled on;

#2 楼 @ywencn 我没有用 nginx,就只用了 passenger

有没有生成 secret key?

不怎么用 Apache,但是这种问题很明显是你根本没有把请求映射给后端。

ProxyPass / http://127.0.0.1:3000/

80 端口接收到的请求,应该转发给 3000 端口 (也就是你的 Rails 程序配置的 Port) 去处理。

另外,提问整理排版,代码做好格式化,还是非常有必要的。

#5 楼 @zoker 我 apache2 文件有个地方配置错了

用 Nginx 吧,网上一搜一把教程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号