setup_nginx.sh 873 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/bash
  2. set -e
  3. # mono environment variables
  4. . ${IROOT}/mono.installed
  5. export NGINX_HOME=${IROOT}/nginx
  6. sed -i 's|localhost|'"$DBHOST"'|g' src/Web.config
  7. # extra cleaning
  8. rm -rf src/bin src/obj
  9. rm -rf /tmp/nuget
  10. xbuild src/Benchmarks.build.proj /t:Clean
  11. xbuild src/Benchmarks.build.proj /t:Build
  12. # one fastcgi instance for each thread
  13. # load balanced by nginx
  14. port_start=9001
  15. port_end=$(($port_start+$MAX_THREADS))
  16. # nginx
  17. conf="upstream mono {\n"
  18. for port in $(seq $port_start $port_end); do
  19. conf+="\tserver 127.0.0.1:${port};\n"
  20. done
  21. conf+="}"
  22. echo -e $conf > $TROOT/nginx.upstream.conf
  23. $NGINX_HOME/sbin/nginx -c $TROOT/nginx.conf -g "worker_processes ${MAX_THREADS};"
  24. # To debug, use --printlog --verbose --loglevels=All
  25. for port in $(seq $port_start $port_end); do
  26. fastcgi-mono-server4 --applications=/:${TROOT}/src --socket=tcp:127.0.0.1:$port &
  27. done