这是我的 nginx 配置文件

这是我的 nginx 配置文件

目前,它给我的是一个令人失望的空白页。
没有 500,没有 404,nginx 日志文件上没有错误,只有一连串的询问。而且我已经在谷歌上搜索了几个小时却没有成功。所以如果有人能帮忙,我将不胜感激。

我希望能够通过浏览器访问在虚拟机上运行的服务器mysite.dev:8888

  • 所以我设定了我的主办方文件“127.0.0.1 mysite.dev”
  • 将我的 VM 设置为 NAT 网络,并将主机上的 8888 端口转发到客户机上的 80 端口。

这样可行。

现在我知道了 nginx处理请求。几个小时以来,它一直抛出 nginx 自定义 404 或 500 错误。所以我根据 error_logs 到处进行调整,直到最后出现空白页。

这是我的 nginx 配置文件

/etc/nginx/nginx.conf

user myuser myuser;
worker_processes 4;
pid /var/run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile off;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

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

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";


    passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
    passenger_ruby /home/myuser/.rvm/rubies/ruby-2.1.0/bin/ruby;
    passenger_max_pool_size 6;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

进而:

/etc/nginx/site-enabled/mysite(这是/etc/nginx/site-available/mysite

server {
    listen 80;  
    server_name mysite.dev;
    charset utf-8;
    root /home/myuser/public/clients/mysite.com/public/;

    passenger_enabled on;
    rails_spawn_method smart;
    rails_env production;


    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ /index.html;
    }

    error_page 404 /home/myuser/public/clients/mysite.com/public/404.html;


    error_page 500 502 503 504 /50x.html;
    location = /500.html {
        root /home/myuser/public/clients/mysite.com/public;
    }


    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

所以...

是否应该有某种特殊的路线在我的路线.rb我需要添加什么文件才能让 nginx 为我的 rails 应用提供服务?因为现在,看起来堡垒里根本没有任何应用。

这是ls -lamysite.com 文件夹的顶部:

drwxrwxr-x  4 myuser myuser 4096 Mar  3 23:57 ./
drwxrwxr-x  5 myuser myuser 4096 Mar  4 00:01 ../
drwxrwxr-- 15 myuser myuser 4096 Mar  4 14:56 mysite.com/
drwxrwxr-x  7 myuser myuser 4096 Mar  4 17:54 .git/

以下是实际的 mysite.com 应用程序:

drwxrwxr-- 15 myuser myuser   4096 Mar  4 14:56 ./
drwxrwxr-x  4 myuser myuser   4096 Mar  3 23:57 ../
drwxrwxr--  7 myuser myuser   4096 Mar  3 23:59 app/
-rwxrwxr--  1 myuser myuser 253413 Mar  3 23:59 backup.sql*
-rwxrwxr--  1 myuser myuser    488 Mar  3 23:59 Capfile*
drwxrwxr--  5 myuser myuser   4096 Mar  4 11:00 config/
drwxrwxr--  3 myuser myuser   4096 Mar  3 23:59 db/
drwxrwxr--  2 myuser myuser   4096 Mar  3 23:59 doc/
-rwxrwxr--  1 myuser myuser   1916 Mar  3 23:59 Gemfile*
-rwxrwxr--  1 myuser myuser   2483 Mar  3 23:59 Gemfile.lock*
drwxrwxr--  8 myuser myuser   4096 Mar  4 19:08 .git/
-rwxrwxr--  1 myuser myuser      0 Mar  4 09:28 .gitignore*
drwxrwxr--  3 myuser myuser   4096 Mar  3 23:59 lib/
drwxrwxr-x  2 myuser myuser   4096 Mar  4 14:56 log/
drwxrwxr-x  2 myuser myuser   4096 Mar  4 13:37 logs/
-rwxrwxr--  1 myuser myuser    306 Mar  3 23:59 notes.txt*
drwxrwxr-- 11 myuser myuser   4096 Mar  4 11:18 public/
-rwxrwxr--  1 myuser myuser    309 Mar  3 23:59 Rakefile*
-rwxrwxr--  1 myuser myuser     34 Mar  4 09:30 .rvmrc*
drwxrwxr--  3 myuser myuser   4096 Mar  3 23:59 script/
drwxrwxr--  6 myuser myuser   4096 Mar  3 23:59 test/
drwxrwxr--  5 myuser myuser   4096 Mar  4 14:56 tmp/
drwxrwxr--  4 myuser myuser   4096 Mar  3 23:59 vendor/

我开始认真考虑卸载整个 nginx 并通过 Passenger 重新安装它,尽管这基本上就是我一开始所做的……

欢迎任何建议!

答案1

Passenger Root 指向一个 ini 文件,这对我来说似乎是错误的。除非我遗漏了什么,否则它应该指向安装 Passenger 的目录,例如:/usr/lib/ruby/gems/1.8/gems/passenger-4.0.37

相关内容