我的新浪微博:http://weibo.com/freshairbrucewoo。
歡迎大家相互交流,共同提高技術。
構建piwik網站統計系統
- 構建環境
作業系統:centos5.4(不能串連外網)
Web伺服器:nginx1.0.2
資料庫:mysql
開源軟體包:piwik
運行環境:PHP指令碼
- 構建步驟
(1) 安裝nginx1.0.2
a) 下載nginx1.0.2的原始碼並解壓
b) 進入解壓後原始碼用./configure配置
c) make和make install編譯安裝
d) 配置nginx.conf檔案並運行nginx,開啟網站測試:localhost:8080
具體執行指令碼如下:
#tar zxvf nginx-1.0.2.tar.gz
#cd nginx-1.0.2
#./configure --prefix=/home/piwik/nginx //此處在本環節只需指定一個路徑
#make && make install
#/home/piwik/nginx/sbin/nginx //啟Nginx
(2) 安裝PHP
1) 安裝libpng
#tar xvf libpng-1.2.10.tar.tar
#cd libpng-1.2.10
#./configure --prefix=/usr/local/png
#make;make install
#ln -s /usr/local/png/lib/* /usr/lib/
2) 安裝jpeg
#mkdir /usr/local/jpeg
#mkdir /usr/local/jpeg/bin
#mkdir /usr/local/jpeg/lib
#mkdir /usr/local/jpeg/include
#mkdir /usr/local/jpeg/man
#mkdir /usr/local/jpeg/man/man1
#tar xvf jpegsrc.v7.tar.tar
#cd jpeg-7
#./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
#make;make install
#ln -s /usr/local/jpeg/lib/* /usr/lib/
3) 安裝 freetype
#tar xvf freetype-2.3.9.tar.tar
#cd freetype-2.3.9
#./configure --prefix=/usr/local/freetype
#make;make install
4) 安裝fontconfig
#tar zxvf fontconfig-2.4.2.tar.gz
#cd fontconfig-2.4.2
#./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config
#make;make install
5) 安裝GD
#tar zxvf gd-2.0.32.tar.gz
#cd gd-2.0.32
#./configure --prefix=/usr/local/gd --with-png=/usr/local/png --with-jpeg=/usr/local/jpeg --with- freetype=/usr/local/freetype --with-fontconfig=/usr/local/fontconfig
#cp /usr/local/png/include/png.h ./
#cp /usr/local/png/include/pngconf.h ./
#make;make install
6) 安裝PHP
首先我們把PHP和PHP-FPM下載到同一目錄下,此次用的為php-5.3.0.tar.bz2和php-5.3.0-fpm-0.5.12.diff.gz,下載到了同一目錄下
#tar xvf php-5.3.0.tar.bz2
#gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1
//將php-5.3.0-fpm-0.5.12.diff.gz以補丁形式加到php-5.3.0裡面
#cd php-5.3.0
#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm
註:Nginx+PHP整合,在安裝時必須啟用--enable-fastcgi和 --enable-fpm.
#make
#make install
#cp php.ini-dist /usr/local/php/etc/php.ini
(3) 整合nginx和php
為了使nginx能夠支援php,需要修改設定檔。
1) 修改nginx.conf檔案,去掉支援php配置的注釋;
2) 修改PHP設定檔php-fpm.conf使監聽的連接埠號碼與nginx裡面的一致。
3) 運行一個PHP測試頁面
(4) 安裝部署piwik
具體的安裝部署過程piwik有詳細的文檔,按照步驟安裝即可,這個過程中可能有錯誤,但是一般都有提示怎麼解決。
在安裝過程中有一個步驟會產生統計的js代碼,需要把這段代碼加入到需要被統計的頁面中,測試通過。
3.注意事項
(1)在配置nginx的時候,完了防止連接埠衝突把連接埠號碼改為8080了,訪問的時候需要帶上連接埠號碼。
(2)預設PHP監控連接埠是9000,可是在系統上被別的應用程式佔用,所以也需要改連接埠號碼,改成了9088.需要注意在PHP設定檔和nginx設定檔都需要修改。
(3)piwik統計的每一個網頁中都需要加入產生js代碼,具體加入位置,在安裝piwik的時候有提示。
(4)如果是用root使用者啟動nginx,所以的外部存取時被禁止的,403錯誤;同樣PHP啟動如果用root使用者啟動也會這種情況。
4. 解決困難與收穫經驗
(1)因為安裝部署的centos伺服器沒有外網,而且是通過運程安裝,在這個過程中遇到很多困難。例如需要的所有軟體通過本地機器下載,然後上傳到伺服器(通過公司內網)。因為不是通過線上安裝,可能導致不相容。
(2)在採用編譯安裝的開發包或是軟體時,編譯配置或編譯時間,會遇到很多沒有安裝的庫,這個時候需要根據錯誤提示找到缺少的軟體包並下載安裝之。
(3)在啟動nginx或PHP時,如果用root啟動會導致外部存取不了,如果用普通使用者啟動可能會失敗,這個時候失敗沒有什麼錯誤提示,需要去查看日誌,裡面有詳細的錯誤記錄。