setup.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import subprocess
  2. import sys
  3. import setup_util
  4. import os
  5. from os.path import expanduser
  6. home = expanduser("~")
  7. def start(args, logfile, errfile):
  8. setup_util.replace_text("php/dborm.php", "@.*\/hello_world", "@" + args.database_host + "/hello_world")
  9. setup_util.replace_text("php/dbraw.php", "host=.*;", "host=" + args.database_host + ";")
  10. setup_util.replace_text("php/updateraw.php", "host=.*;", "host=" + args.database_host + ";")
  11. setup_util.replace_text("php/fortune.php", "host=.*;dbname", "host=" + args.database_host + ";dbname")
  12. setup_util.replace_text("php/deploy/php", "\".*\/FrameworkBenchmarks", "\"" + home + "/FrameworkBenchmarks")
  13. setup_util.replace_text("php/deploy/php", "Directory .*\/FrameworkBenchmarks", "Directory " + home + "/FrameworkBenchmarks")
  14. setup_util.replace_text("php/deploy/nginx.conf", "root .*\/FrameworkBenchmarks", "root " + home + "/FrameworkBenchmarks")
  15. try:
  16. if os.name == 'nt':
  17. subprocess.check_call('appcmd add site /name:PHP /bindings:http/*:8080: /physicalPath:"C:\\FrameworkBenchmarks\\php"', shell=True, stderr=errfile, stdout=logfile)
  18. return 0
  19. #subprocess.check_call("sudo cp php/deploy/php /etc/apache2/sites-available/", shell=True)
  20. #subprocess.check_call("sudo a2ensite php", shell=True)
  21. #subprocess.check_call("sudo chown -R www-data:www-data php", shell=True)
  22. #subprocess.check_call("sudo /etc/init.d/apache2 start", shell=True)
  23. subprocess.check_call("sudo php-fpm --fpm-config config/php-fpm.conf -g " + home + "/FrameworkBenchmarks/php/deploy/php-fpm.pid", shell=True, stderr=errfile, stdout=logfile)
  24. subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c " + home + "/FrameworkBenchmarks/php/deploy/nginx.conf", shell=True, stderr=errfile, stdout=logfile)
  25. return 0
  26. except subprocess.CalledProcessError:
  27. return 1
  28. def stop(logfile, errfile):
  29. try:
  30. if os.name == 'nt':
  31. subprocess.check_call('appcmd delete site PHP', shell=True, stderr=errfile, stdout=logfile)
  32. return 0
  33. subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True, stderr=errfile, stdout=logfile)
  34. subprocess.call("sudo kill -QUIT $( cat php/deploy/php-fpm.pid )", shell=True, stderr=errfile, stdout=logfile)
  35. return 0
  36. except subprocess.CalledProcessError:
  37. return 1