Nginx 動靜分離

來源:互聯網
上載者:User

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

 

 本文出自 “放逐” 部落格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.