nginx是一個高效能的web伺服器和反向 Proxy伺服器,因為穩定,底系統資源消耗而聞名。
但nginx效率雖然高,面臨巨大的訪問量時還是避免不了出現瓶頸。如今web伺服器都會跑動態+靜態頁面。後面的solr也有專門的動態靜態索引分工。當訪問量較大的時候,有一種可行的應用:把nginx裝一台伺服器上,php+mysql裝到另一台伺服器。這樣就減輕了伺服器的負載。
環境描述:
192.168.253.129 伺服器上裝有nginx
192.168.253.131 伺服器上裝有php+mysql
一 在129上安裝nginx
1 安裝pcre ,因為nginx要根據Regex查詢php請求
#rpm -qa | grep pcre //查詢系統中有沒有安裝PCRE,一般裝系統是預設裝有,所以我們要刪掉系統內建的
#cp /lib64/libpcre.so.0 / //在刪除系統內建的PCRE之前,要先備份一下libpcre.so.0這個檔案,因為RPM包的關聯性太強,在刪除後沒libpcre.so.0這個檔案時我們裝PCRE是裝不上的
rpm -e --nodeps pcre-6.6-2.el5_1.7 //刪除系統內建的PCRE
tar -zxf pcre-7.8.tar.gz
cd pcre-7.8
cp /libpcre.so.0 /lib64/ //把我們刪除系統內建的PCRE之前備份的libpcre.so.0拷貝到/lib 目錄下
./configure //配置PCRE,因為PCRE是一個庫,而不是像pache、php、postfix等這樣的程式,所以我們安裝時選擇預設路徑即可,這樣會在後面安裝其它東西時避免一些不必要的麻煩,執行完這部後會顯示出,上面顯示了我們對PCRE的配置
make & make install
2 安裝nginx
tar -zxf nginx-0.7.30.tar.gz
cd nginx-0.7.30
./configure --prefix=/usr/local/nginx //此處在本環節只需指定一個路徑
make && make install
二 在31上安裝php+mysql
1 安裝mysql
useradd mysql
tar zxvf mysql-5.0.40.tar.gz
cd mysql-5.0.40
./configure --prefix=/usr/local/mysql
make && make install
/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化MySQL資料庫
chown -R mysql /usr/local/mysql/var
/usr/local/mysql/bin/mysqld_safe & //啟動MySQL
/usr/local/mysql/bin/mysqladmin -u root password 123456 //設定MySQL密碼
cp support-files/my-medium.cnf /etc/my.cnf
echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local
安裝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 --enable-fastcgi --enable-fpm --with-mysql=/usr/local/mysql
make && make install
cp php.ini-dist /usr/local/php/etc/php.ini
三 在131上進行配置
修改php-fpm設定檔
1把127.0.0.1改成本機ip <value name="listen_address">192.168.253.131:9000</value>
2去掉注釋,以nobody使用者來運行php
Unix user of processes
<value name="user">nobody</value>
Unix group of processes
<value name="group">nobody</value>
3修改用戶端ip為192.168.253.129 ,只接受nginx的請求
<value name="allowed_clients">192.168.253.129</value>
建立一個php測試頁面
Mkdir –p /www/html
Vim /www/html/index.php
<?php
Phpinfo();
?>
四 配置nginx在192.168.253.129
Vim /usr/local/nginx/conf/nginx/conf
開啟CGI部分的注釋,修改ip成192.168.253.131 ,並修改php檔案的路徑為/www/html
location ~ \.php$ {
root html;
fastcgi_pass 192.168.253.131:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/html$fastcgi_script_name;
include fastcgi_params;
}
測試:
http://192.168.253.129/index.php
會顯示存放在131下的測試頁面index.php
本文出自 “放逐” 部落格