我正在和乘客一起使用nginx,我想问一下,如何创建rails app,而不在域中显示应用名称。 目前我知道如何使用域设置nginx配置:
# ...
# Wrote on Python:
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
print "received data:", data
conn.send(data+'\r\n')
conn.close()
在我创建domain.com/app_name
时的路径文件中
我仍然需要输入root 'welcome#index'
来查看我的控制器,但是当域只是domain.com/app_name
时,如何让它显示欢迎控制器
我的nginx配置看起来像这样:
domain.com
当我尝试评论server {
listen 80 default_server;
server_name domain.com;
root /home/username/rails;
location ~ ^/app_name(/.*|$) {
alias /home/username/rails/app_name/public$1; # <-- 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;
}
}
时,我收到了403 ERROR代码。
任何帮助将不胜感激。
答案 0 :(得分:2)
您需要移除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