Question #658662 on Graphite changed: https://answers.launchpad.net/graphite/+question/658662
rocky gave more information on the question: Hi please find the more information. [root@XX conf.d]# cat /opt/graphite/conf/graphite.wsgi import sys sys.path.append('/opt/graphite/webapp') from graphite.wsgi import application [root@XX conf.d]# [root@XX conf.d]# cat /opt/graphite/webapp/graphite/wsgi.py import os import sys try: from importlib import import_module except ImportError: from django.utils.importlib import import_module os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'graphite.settings') # noqa from django.conf import settings from django.core.wsgi import get_wsgi_application application = get_wsgi_application() try: import whitenoise except ImportError: whitenoise = False else: # WhiteNoise < 2.0.1 does not support Python 2.6 if sys.version_info[:2] < (2, 7): whitenoise_version = tuple(map( int, getattr(whitenoise, '__version__', '0').split('.'))) if whitenoise_version < (2, 0, 1): whitenoise = False if whitenoise: from whitenoise.django import DjangoWhiteNoise application = DjangoWhiteNoise(application) prefix = "/".join((settings.URL_PREFIX.strip('/'), 'static')) for directory in settings.STATICFILES_DIRS: application.add_files(directory, prefix=prefix) for app_path in settings.INSTALLED_APPS: module = import_module(app_path) directory = os.path.join(os.path.dirname(module.__file__), 'static') if os.path.isdir(directory): application.add_files(directory, prefix=prefix) [root@XX conf.d]# [root@XX conf.d]# cat /etc/httpd/conf.d/graphite.conf # Enable virtualhosts, perhaps by adding this to your server's config somewhere, # probably the main httpd.conf # NameVirtualHost *:80 # This line also needs to be in your server's config. # LoadModule wsgi_module modules/mod_wsgi.so # You need to manually edit this file to fit your needs. # This configuration assumes the default installation prefix # of /opt/graphite/, if you installed graphite somewhere else # you will need to change all the occurrences of /opt/graphite/ # in this file to your chosen install location. <IfModule !wsgi_module.c> LoadModule wsgi_module modules/mod_wsgi.so </IfModule> # XXX You need to set this up! # Read http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix # For example, create a directory /var/run/wsgi and use that. WSGISocketPrefix run/wsgi <VirtualHost *:8080> ServerName XX.XX.XX.XX DocumentRoot "/opt/graphite/webapp" ErrorLog /opt/graphite/storage/log/webapp/error.log CustomLog /opt/graphite/storage/log/webapp/access.log common Header set Access-Control-Allow-Origin "*" # I've found that an equal number of processes & threads tends # to show the best performance for Graphite (ymmv). WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120 WSGIProcessGroup graphite WSGIApplicationGroup %{GLOBAL} WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL} # XXX You will need to create this file! There is a graphite.wsgi.example # file in this directory that you can safely use, just copy it to graphite.wgsi WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi # XXX To serve static files, either: # * Install the whitenoise Python package (pip install whitenoise) # * Collect static files in a directory by running: # django-admin.py collectstatic --noinput --settings=graphite.settings # And set an alias to serve static files with Apache: Alias /static/ /opt/graphite/static/ <Directory /opt/graphite/static/> Order deny,allow Allow from all </Directory> ######################## # URL-prefixed install # ######################## # If using URL_PREFIX in local_settings for URL-prefixed install (that is not located at "/")) # your WSGIScriptAlias line should look like the following (e.g. URL_PREFX="/graphite" # WSGIScriptAlias /graphite /srv/graphite-web/conf/graphite.wsgi/graphite # Alias /graphite/static /opt/graphite/webapp/content # <Location "/graphite/static/"> # SetHandler None # </Location> # XXX In order for the django admin site media to work you # must change @DJANGO_ROOT@ to be the path to your django # installation, which is probably something like: # /usr/lib/python2.6/site-packages/django Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/" # The graphite.wsgi file has to be accessible by apache. It won't # be visible to clients because of the DocumentRoot though. <Directory /opt/graphite/conf/> <IfVersion < 2.4> Order deny,allow Allow from all </IfVersion> <IfVersion >= 2.4> Require all granted </IfVersion> </Directory> </VirtualHost> [root@XX conf.d]# -- You received this question notification because your team graphite-dev is an answer contact for Graphite. _______________________________________________ Mailing list: https://launchpad.net/~graphite-dev Post to : graphite-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~graphite-dev More help : https://help.launchpad.net/ListHelp