nginx - 如何在域中创建没有应用程序名称的 rails 应用程序
nginx - how to create rails app without app name in domain
我正在将 nginx 与 passenger 一起使用,我想问一下如何创建 rails 应用程序,而不在域中显示应用程序名称。
目前我知道如何使用这样的域设置 nginx 配置:
domain.com/app_name
并且在我创建 root 'welcome#index'
时在路由文件中
我仍然需要输入 domain.com/app_name
来查看我的控制器,但是当域只是 domain.com
时如何让它显示欢迎控制器
我的 nginx 配置看起来是这样的:
server {
listen 80 default_server;
server_name domain.com;
root /home/username/rails;
location ~ ^/app_name(/.*|$) {
alias /home/username/rails/app_name/public; # <-- be sure to point to 'p$
passenger_base_uri /app_name;
passenger_app_root /home/username/rails/app_name;
passenger_document_root /home/username/rails/app_name/public;
passenger_app_env development;
passenger_enabled on;
}
}
当我尝试注释掉 #passenger_base_uri /app_name
时,我得到了 403 错误代码。
任何帮助将不胜感激。
您需要删除 location
块,alias
、passenger_base_uri
、passenger_app_root
和 passenger_document_root
。也将 root
更改为您的 Rails public
目录。它应该是这样的:
server {
listen 80 default_server;
server_name domain.com;
root /home/username/rails/app_name/public;
passenger_app_env development;
passenger_enabled on;
}
尝试遵循此生产 nginx 配置示例,其中还包括一些配置服务器的最佳实践:https://gist.github.com/mikhailov/711913
我正在将 nginx 与 passenger 一起使用,我想问一下如何创建 rails 应用程序,而不在域中显示应用程序名称。 目前我知道如何使用这样的域设置 nginx 配置:
domain.com/app_name
并且在我创建 root 'welcome#index'
时在路由文件中
我仍然需要输入 domain.com/app_name
来查看我的控制器,但是当域只是 domain.com
我的 nginx 配置看起来是这样的:
server {
listen 80 default_server;
server_name domain.com;
root /home/username/rails;
location ~ ^/app_name(/.*|$) {
alias /home/username/rails/app_name/public; # <-- be sure to point to 'p$
passenger_base_uri /app_name;
passenger_app_root /home/username/rails/app_name;
passenger_document_root /home/username/rails/app_name/public;
passenger_app_env development;
passenger_enabled on;
}
}
当我尝试注释掉 #passenger_base_uri /app_name
时,我得到了 403 错误代码。
任何帮助将不胜感激。
您需要删除 location
块,alias
、passenger_base_uri
、passenger_app_root
和 passenger_document_root
。也将 root
更改为您的 Rails public
目录。它应该是这样的:
server {
listen 80 default_server;
server_name domain.com;
root /home/username/rails/app_name/public;
passenger_app_env development;
passenger_enabled on;
}
尝试遵循此生产 nginx 配置示例,其中还包括一些配置服务器的最佳实践:https://gist.github.com/mikhailov/711913