AWS centos 환경에서 nginx + unicorn 연동 ruby on rails

unicorn 은 저번 글을 보고 설정하면 되므로 생략합니다.

nginx 설정

/etc/nginx경로의 nginx.conf 을 수정한다.

######################################################
user nginx;
#worker_processes auto;
#error_log /var/log/nginx/error.log;
#pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

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

    index   index.html index.htm;

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

}
###############################################################

/etc/nginx/sites-enabled 경로에 파일이름.conf 파일을 만들고 다음과같이 설정한다.

###############################################################
upstream unicorn {
  server unix:/home/ec2-user/test_project/tmp/sockets/unicorn.sock; #unicorn 소켓이 있는 경로
}

server {
  listen 80 default_server;
  server_name 서버이름; 

  #access_log /home/ec2-user/test_project/log/nginx_access.log;
  #error_log /home/ec2-user/test_project/log/nginx_error.log;

  root /home/ec2-user/test_project/public;  #프로젝트경로/public;

  client_max_body_size 100m;
  error_page 404 /404.html;
  error_page 500 502 503 504 /500.html;
  try_files $uri/index.html $uri @unicorn;

  location @unicorn {
    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_pass http://unicorn;
  }
}
#############################################################
그후 nginx 재시작후에 입력된 서버로 접속해본다.

홈페이지 접속이 안된다면 경로를 잘 확인해보고, 경로의 권한도 확인해보자.

덧글

댓글 입력 영역