我在集群上部署了一个 rails 项目(https://github.com/opf/openproject.git) 用 passenger(5.3.3)+nginx 做代理,用了 passenger_base_uri 参数来 remove 最前面的 suburl(/openproject),结果发现随机地出现 rails 收到带/openproject 请求的情况,然后就造成随机地 404,但是只要刷新一下就又没有问题了。有人和我一样吗?
我把项目打包了 docker:wangm23456/openproject:cesv60
passenger 启动:
#!/bin/bash -e
BIND="${BIND:=0.0.0.0}"
PORT="${PORT:=8080}"
RAILS_ENV="${RAILS_ENV:="production"}"
MIGRATE="${MIGRATE:="true"}"
MIN_INSTANCES="${PASSENGER_MIN_INSTANCES:=5}"
MAX_INSTANCES="${PASSENGER_MAX_INSTANCES:=10}"
SPAWN_METHOD="${PASSENGER_SPAWN_METHOD:=smart}"
if [ "$MIGRATE" = "true" ]; then
echo "Migrating database..."
bundle exec rake db:migrate db:seed db:structure:dump
fi
exec bundle exec passenger start \
-p $PORT \
-a "${BIND}" \
--min-instances "$MIN_INSTANCES" \
--max-pool-size "$MAX_INSTANCES" \
--spawn-method "$SPAWN_METHOD" \
--nginx-config-template "docker/nginx.conf.erb" \
--max-preloader-idle-time 0