setup_nginx.sh 877 B

123456789101112131415161718192021222324252627
  1. #!/bin/bash
  2. fw_depends mysql postgresql mongodb nginx mono
  3. sed -i 's|localhost|'"$DBHOST"'|g' src/Web.config
  4. sed -i 's|/usr/local/nginx/|'"${IROOT}"'/nginx/|g' nginx.conf
  5. # extra cleaning
  6. rm -rf src/bin src/obj
  7. xbuild src/ServiceStackBenchmark.csproj /t:Clean
  8. xbuild src/ServiceStackBenchmark.csproj /t:Build
  9. # one fastcgi instance for each thread
  10. # load balanced by nginx
  11. port_start=9001
  12. port_end=$(($port_start+$MAX_THREADS))
  13. # nginx
  14. conf="upstream mono {\n"
  15. for port in $(seq $port_start $port_end); do
  16. conf+="\tserver 127.0.0.1:${port};\n"
  17. done
  18. conf+="}"
  19. echo -e $conf > $TROOT/nginx.upstream.conf
  20. nginx -c $TROOT/nginx.conf -g "worker_processes ${MAX_THREADS};"
  21. # To debug, use --printlog --verbose --loglevels=All
  22. for port in $(seq $port_start $port_end); do
  23. MONO_OPTIONS=--gc=sgen fastcgi-mono-server4 --applications=/:$TROOT/src --socket=tcp:127.0.0.1:$port &
  24. done