要使用套接字绑定启动 puma,只需使用/tmp
目录:
bundle exec puma -e development -b unix:///tmp/my_app.sock
要通过域名访问应用程序,您应该使用类似的东西nginx
并对其进行配置。
要nginx
在 Ubuntu 中安装,只需运行下一个命令:
sudo apt-get install nginx
运行sudo nano /etc/nginx/sites-available/my_app.conf
并将下面的配置放入此文件(Ctrl + X,Y - 保存更改):
upstream my_app {
server unix:///tmp/my_app.sock;
}
server {
listen *:80;
server_name my_app.com;
access_log /var/log/nginx/my_app-access.log;
location /favicon.ico {
root /var/www/my_app/public/assets/favicon.ico;
gzip_static on;
expires max;
add_header Cache-Control public;
}
location / {
root /var/www/my_app/public;
try_files $uri @app;
gzip_static on;
expires max;
add_header Cache-Control public;
}
location @app {
proxy_pass http://my_app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_502;
}
}
您应该将/var/www/my_app
和更改my_app.com
为适当的值。
将符号链接添加到启用的站点sudo ln -fns /etc/nginx/sites-available/my_app.conf /etc/nginx/sites-enabled/
重启 nginx: sudo service nginx restart
。
将您的域名链接到服务器 IP(通过hosts
-file 或 DNS-provider)。