2015年12月23日水曜日

Capistranoの実行環境を作成する3

Front1 serverでの作業
SSLのkeyを作成
sudo openssl req -new -days 365 -x509 -nodes -keyout cert.key -out cert.crt
mv cert.key /etc/nginx
mv cert.crt /etc/nginx
udo vi /etc/nginx/conf.d/target.conf
try_filesの設定が重要になります。
1、$uri
2、$uri.html
3、$uri/index.html
とアクセスして、最後に@appにアクセスします。
4、location @appに遷移
5、proxy_passでupstream backend-unicornに遷移。
6、Rails側でも設定したunicorn.sockにアクセスがいきます。
upstream backend-unicorn {
    server unix:/srv/www/target/shared/tmp/sockets/unicorn.sock;
}
 
server {
    allow all;
    listen 80;
    listen 443 ssl;
    ssl_certificate      /etc/nginx/cert.crt;
    ssl_certificate_key  /etc/nginx/cert.key;
    server_name target.com;
    root /srv/www/target/current/public;
    try_files $uri $uri.html $uri/index.html @app;
    access_log /var/log/nginx/target_access.log;
    error_log /var/log/nginx/target_error.log;

    location @app {
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X_FORWARDED_PROTO $scheme;
        proxy_set_header Host $http_host;
        proxy_pass http://backend-unicorn;
        proxy_redirect off;
    }
    if (-f /srv/www/target/shared/public/system/maintenance.html) {
        return 503;
    }
    error_page 503 @503;
    location @503 {
        if (-f $request_filename) {
            break;
        }
        rewrite ^(.*)$ /system/maintenance.html break;
    }
    gzip_vary on;
    gzip_static on;
}
SELinuxをoff
setenforce 0
Unicornに問い合わせがいかないように設定
config/environmebts/production.rb
config.serve_static_assets = false
js, cssの動的なcompileをしないように設定。 逆に言えば、js,cssが正しく設定されていないと、ファイルが見つからないのでエラーが出ます。
config.assets.compile = false
localのMacサーバーでhostsを設定します。
sudo vi /etc/hosts
192.168.43.62 target.com
このURLからアクセスできます。
https://target.com/

0 件のコメント: