
다른 유사한 질문을 본 적이 있지만 만족스러운 답변이 없으므로 여기에 있습니다. Ruby, Rails, Nginx 및 Passenger를 설치하고 모두 함께 작동하도록 구성하려고 했습니다.
다음은 관련 부분입니다/opt/nginx/conf/nginx.conf
server {
listen 80;
server_name .myapp.dev; # There is an entry in my local /etc/hosts file for this
passenger_enabled on;
root /srv/www/myapp.dev/public;
access_log /srv/www/myapp.dev/logs/access_log;
error_log /srv/www/myapp.dev/logs/error_log warn;
}
다른 블록이 있지만 server
듣고 있으므로 localhost
문제가 발생하지 않는 것 같습니다.
다음은ls -la /srv/www/myapp.dev/
drwxr-xr-x 3 josh josh 4096 Dec 4 19:12 .
drwxr-xr-x 3 josh josh 4096 Dec 4 18:34 ..
drwxr-xr-x 2 josh josh 4096 Dec 4 18:34 logs
lrwxrwxrwx 1 josh josh 37 Dec 4 19:12 public -> /home/josh/rails/myapp/public
권한 오류가 있는 것은 아닌지 궁금합니다. 그러나 Ruby를 실행하려고 시도하고 있음을 나타내는 오류는 표시되지 않습니다.
/opt/nginx/logs/error.log
nginx를 다시 시작할 때 추가되는 내용입니다.
[ 2013-12-04 20:16:17.9953 2321/b6fea000 agents/Watchdog/Main.cpp:574 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/home/josh/.rvm/wrappers/ruby-2.0.0-p353/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_instances_per_app' => '0', 'max_pool_size' => '6', 'passenger_root' => '/home/josh/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.26', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.26', 'web_server_pid' => '2320', 'web_server_type' => 'nginx', 'web_server_worker_gid' => '65534', 'web_server_worker_uid' => '65534' }
[ 2013-12-04 20:16:18.0527 2324/b6f0b000 agents/HelperAgent/Main.cpp:626 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.2320/generation-0/request
[ 2013-12-04 20:16:18.1577 2329/b6683000 agents/LoggingAgent/Main.cpp:318 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.2320/generation-0/logging
[ 2013-12-04 20:16:18.1644 2321/b6fea000 agents/Watchdog/Main.cpp:761 ]: All Phusion Passenger agents started!
Nginx는 정적 파일을 제공합니다. 예를 들어 myapp.dev/500.html을 방문하면 기본 Rails 500 오류 페이지가 표시됩니다. Phusion Passenger가 로그에 언급되어 작동하는 것 같습니다(비록 error.log
결과가 부정적이지는 않음).
나는 이것을 작동시키려고 머리를 찢고 있습니다. 누구든지 아이디어가 있나요?
편집하다
다음은rake routes
rake routes
Prefix Verb URI Pattern Controller#Action
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
root GET / posts#index
그러나 방문은 myapp.dev/posts
돌아옵니다 404
.
답변1
승객이 귀하의 신청서를 찾을 수 없습니다....
root /srv/www/myapp.dev/public;
로 변경root /home/josh/rails/myapp/public;