咱們在測試的時候,能夠使用下面的命令來啓動graphitenginx
django-admin runserver 172.16.81.101:8000 --settings=graphite.settings
可是這種啓動方式只可用於測試,生產環境下,啓動graphite不能用這種方式。web
生產環境下須要使用apache或者nginx來部署graphite。apache
下面我就來介紹一下,要使用apache或者nginx來部署graphite,應該怎麼對graphite和apache(nginx)進行配置。django
1:修改/opt/graphite文件夾以及文件夾下全部文件的用戶和組爲apache瀏覽器
#chown apache:apache /opt/graphite
2:生成graphite.wsgi文件bash
#cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
3:生成graphite-vhost.conf文件服務器
#cp /opt/graphite/examples/example-graphite-vhost.conf /usr/local/apache2/conf/extra/ graphite-vhost.conf
4:修改apache的配置文件httpd.confapp
修改運行apache的用戶和組爲apache:webapp
在httpd.conf配置文件裏面增長下面一條配置信息socket
5:修改/usr/local/apache2/conf/extra/ graphite-vhost.conf配置文件:
把下面這條配置放開
增長監聽端口
修改graphite靜態文件路徑:
重啓apache /usr/local/apache2/bin/apachectl restart
使用瀏覽器訪問 http://ip:8080/就能夠看到graphite-web的界面了,以下所示:
1:在/opt/graphite/webapp文件夾下建立graphite.ini文件,這個是uwsgi要使用的配置文件,內容以下:
[uwsgi] post-buffering = 32768 buffer-size = 32768 chdir=/opt/graphite/webapp/ module=graphite.wsgi master=true pidfile=/var/run/graphite.pid vacuum=true max-requests=10000 daemonize=/opt/graphite/storage/log/webapp/access.log processes=4 socket=172.16.81.101:9090 stats=127.0.0.1:1716 listen=1024
使用命令uwsgi -i graphite.ini啓動uwsgi,而後瀏覽器訪問http://ip:9090/,若是能夠看到graphite-web的界面,說明這個配置文件是沒問題的。
這個配置文件也能夠是xml格式的,以下所示:
<uwsgi> <socket>:8077</socket> <chdir>/opt/graphite/webapp</chdir> <module>wsgi</module> <processes>4</processes> <!-- 進程數 --> <daemonize>uwsgi.log</daemonize> </uwsgi>
若是是xml格式的配置文件,那麼啓動uwsgi的命令是uwsgi -x graphite.xml
uwsgi其實也是一個web服務器,能夠用來啓動django項目。之因此還要使用nginx,主要是使用nginx來處理靜態文件的請求。
2:配置nginx.conf文件,打開配置文件/usr/local/nginx/conf/nginx.conf,修改下面兩處地方:
uwsgi_pass這項配置內容必須跟上面graphite.ini配置文件裏面的socket配置項保持一致。靜態文件請求nginx來處理,若是是非靜態文件請求,會經過uwsgi_pass這個配置轉給uwsgi來處理。
這個是配置graphite靜態文件的路徑。
重啓nginx
使用瀏覽器訪問 http://ip:80/就能夠看到graphite-web的界面了。