setup_nginx.sh 897 B

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