使用apache和nginx部署graphite的相關配置

寫在前面

咱們在測試的時候,能夠使用下面的命令來啓動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

使用apache部署graphite的相關配置

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的界面了,以下所示:

 

使用nginx部署graphite的相關配置

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的界面了。

相關文章
相關標籤/搜索