Ruby on Rails应用程序,Nginx无法访问

时间:2018-02-26 08:45:34

标签: ruby-on-rails nginx passenger

我正在远程服务器上部署我的Ruby on Rails网站。

  • 我把我的代码放在/ var / www / [websitename]

  • /opt/nginx/conf/nginx.conf如下:

worker_processes 1;

events {
    worker_connections  1024;
}


http {
    passenger_root /home/tamer/.rvm/gems/ruby-2.5.0@meraki/gems/passenger-5.2.0;
    passenger_ruby /home/tamer/.rvm/gems/ruby-2.5.0@meraki/wrappers/ruby;
    passenger_app_env development;

    include       mime.types;
    default_type  application/octet-stream;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
server {
listen 80;
server_name http://[my external ip];

# Tell Nginx and Passenger where your app's 'public' directory is
root /var/www/[my directory]/public;
index index.html index.htm;

# Static assets are served from the mentioned root directory
location / {
    #  root /var/www/APPNAME/current;
    #  index index.html index.htm;
    proxy_pass http://127.0.0.1:3000;

    proxy_redirect off;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    # proxy_set_header X-Real-Port $server_port;
    # proxy_set_header X-Real-Scheme $scheme;
    proxy_set_header X-NginX-Proxy true;
}
  • 然后,我跑了rails s -b 127.0.0.1 -p 3000

代码在我的终端中运行完美。 但是,浏览器给我“无法访问此站点”。

我使用passenger start -a 127.0.0.1 -p 3000

获得相同的结果

如何解决此问题

2 个答案:

答案 0 :(得分:0)

在运行$colors: ( carscolor: #C5281C, primary: #387ef5, secondary: #32db64, danger: #f53d3d, light: #f4f4f4, dark: #000, popover: #404040, unread: #808080, note: #666, ); 并重新启动我的rails应用程序后,它运行了。

答案 1 :(得分:0)

请注意 您正在连接乘客实例localhost:3000 你应该可以通过http://localhost IE默认端口80进行连接我觉得这就是你想要的。

听80; < - > proxy_pass http://127.0.0.1:3000;