一、安裝元件和依賴包
1
2
3
4
5
6
7
8
9
10
11
<code>yum </code><code>install</code> <code>–y gcc gcc-c++ </code><code>make</code> <code>cmake ncurses-devel libxml2-devel perl-devel libcurl-devel libgcrypt libgcrypt-devel libxslt libxslt-devel pcre-devel openssl-devel</code>
<code>1.安裝apr</code>
<code>tar</code> <code>zxvf apr-1.4.6.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>apr-1.4.6</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/apr</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>2.安裝apr-utils</code>
<code>tar</code> <code>zxvf apr-util-1.4.1.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>apr-util-1.4.1</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/apr-util</code> <code>--with-apr=</code><code>/usr/local/apr</code>
二、安裝httpd
<code>tar</code> <code>zxvf httpd-2.4.3.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>httpd-2.4.3</code>
<code>.</code><code>/configure</code> <code>-prefix=</code><code>/usr/local/apache</code> <code>-</code><code>enable</code><code>-so -</code><code>enable</code><code>-rewrite -</code><code>enable</code><code>-modules=all --with-apr=</code><code>/usr/local/apr</code> <code>--with-apr-util=</code><code>/usr/local/apr-util</code>
<code>/usr/local/apache/bin/apachectl</code> <code>start</code>
<code>cp</code> <code>/usr/local/apache/bin/apachectl</code> <code>/etc/init</code><code>.d</code><code>/httpd</code>
<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/httpd</code>
<code>service httpd start</code>
<code>echo</code> <code>"/usr/local/apache/bin/apachectl start"</code> <code>>> </code><code>/etc/rc</code><code>.</code><code>local</code> <code>#開機啟動</code>
http://127 .0.0.1通路測試,會顯示it works頁面!
提示:apr、apr-util還有依賴包一定要安裝好,要不然會各種報錯!
二、安裝mysql
下載下傳:http://dev.mysql.com/downloads/mysql/5.5.html
1、建立組和使用者
<code>groupadd mysql</code>
<code>useradd</code> <code>-g mysql -s </code><code>/sbin/nologin</code> <code>mysql</code>
2、安裝mysql
<code>tar</code> <code>zxvf mysql-5.5.34.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>mysql-5.5.34</code>
<code>cmake -dcmake_install_prefix=</code><code>/usr/local/mysql</code> <code>\</code>
<code>-dsysconfdir=</code><code>/usr/local/mysql/etc</code> <code>-dmysql_datadir=</code><code>/usr/local/mysql/data</code>
3、初始化并配置
12
13
14
<code>/usr/local/mysql/scripts/mysql_install_db</code> <code>--basedir=</code><code>/usr/local/mysql/</code> <code>--datadir=</code><code>/usr/local/mysql/data/</code> <code>--user=mysql </code><code>#初始化資料庫</code>
<code>mkdir</code> <code>/usr/local/mysql/etc</code>
<code>cp</code> <code>support-files</code><code>/my-medium</code><code>.cnf </code><code>/usr/local/mysql/etc/my</code><code>.cnf</code>
<code>cp</code> <code>support-files</code><code>/mysql</code><code>.server </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>
<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>
<code>echo</code> <code>"path=$path:/usr/local/mysql/bin"</code> <code>>> </code><code>/etc/profile</code> <code>#添加執行指令環境變量</code>
<code>source</code> <code>/etc/profile</code> <code>#生效環境變量</code>
<code>chown</code> <code>-r root.mysql </code><code>/usr/local/mysql/</code>
<code>chown</code> <code>-r mysql:mysql mysql</code><code>/data/</code> <code>#賦予資料存放目錄權限</code>
<code>mysqld_safe --user=mysql& </code><code>#啟動mysql</code>
<code>rm</code> <code>-rf </code><code>/etc/my</code><code>.cnf </code><code>#***mysql以前的配置檔案,否則有時會起不來</code>
<code>service mysqld start</code>
<code>mysqladmin -u root password </code><code>'123456'</code><code>#設定root登入密碼</code>
<code>chkconfig mysqld on</code>
三、安裝php
1、yum安裝gd庫
<code>yum </code><code>install</code> <code>–y gd freetype freetype-devel libpng libpng-devel zlib zlib-devel libjpeg*</code>
補充:編譯安裝gd庫(需要安裝php時候指定gd、zlib、jpeg、png和freetype安裝目錄)
1>.安裝zlib
<code>tar</code> <code>zxvf zlib-1.2.5.1.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>zlib-1.2.5.1</code>
<code>.</code><code>/configure</code> <code>–prefix=</code><code>/usr/local/gd/zlib</code>
2>.安裝jpeg
<code>mkdir</code><code>-p </code><code>/usr/local/gd/jpeg/include</code>
<code>mkdir</code><code>-p </code><code>/usr/local/gd/jpeg/lib</code>
<code>mkdir</code><code>-p </code><code>/usr/local/gd/jpeg/bin</code>
<code>mkdir</code><code>-p </code><code>/usr/local/gd/jpeg/man/man1</code>
<code>tarzxvf jpegsrc.v6b.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>jpegsrc.v6b</code>
<code>.</code><code>/configure</code> <code>–prefix=</code><code>/usr/local/gd/jpeg</code>
編譯中可能報錯:make: ./libtool:指令未找到 make: *** [cjpeg.lo] 錯誤 127
解決:
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
3>.安裝libpng
<code>tar</code> <code>zxvf libpng-1.5.6.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>libpng-1.5.6</code>
<code>.</code><code>/configure</code> <code>–prefix=</code><code>/usr/local/gd/libpng</code>
編譯中可能報錯:configure: error: zlib not installed
進入zlib-1.2.6的源檔案目錄,執行指令 make clean,清除zlib;
重新配置 ./configure,後面不要加–prefix參數;
再make && make install;
4>.安裝freetype
<code>tar</code> <code>zxvf freetype-2.4.6.</code><code>tar</code><code>.gz</code>
<code>cdfreetype-2.4.6</code>
<code>.</code><code>/configure</code> <code>–prefix=</code><code>/usr/local/gd/freetype</code>
5>.安裝gd
<code>tar</code> <code>zxvf gd-2.0.33.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>gd-2.0.33</code>
<code>.</code><code>/configure</code> <code>–prefix=</code><code>/usr/local/gd/gd2</code> <code>–with-zlib=</code><code>/usr/local/gd/zlib</code>
<code>–with-jpeg=</code><code>/usr/local/gd/jpeg</code> <code>–with-png=</code><code>/usr/local/gd/libpng</code>
<code>–with-freetype=</code><code>/usr/local/gd/freetype</code>
編譯中可能報錯:gd_png.c:92: error: expected ‘)’ before ‘png_ptr’
解決:vi gd_png.c
将#include “png.h” 替換成:#include “/usr/local/gd/libpng/include/png.h”
安裝成功後,/usr/local/gd/gd2/include生成gd.h和libgd.a的檔案
安裝加密算法擴充庫libmcrypt
下載下傳:ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt
<code>tar</code> <code>zxvf libmcrypt-2.5.3.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>libmcrypt-2.5.3</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/libmcrypt</code>
<code>ldconfig -</code><code>v</code>
<code>cd</code> <code>libltdl</code>
<code>.</code><code>/configure</code> <code>--with-gmetad --</code><code>enable</code><code>-gexec --</code><code>enable</code><code>-ltdl-</code><code>install</code>
<code>ln</code> <code>-sv </code><code>/usr/local/lib/libmcrypt</code><code>* </code><code>/usr/lib</code> <code>#連結到預設搜尋庫目錄</code>
2、安裝php
15
16
<code>tar</code> <code>zxvf php-5.4.4.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>php-5.4.4</code>
<code>.</code><code>/configure</code> <code>-prefix=</code><code>/usr/local/php</code> <code>\</code>
<code>--with-config-</code><code>file</code><code>-path=</code><code>/usr/local/php/etc</code> <code>\</code>
<code>--with-apxs2=</code><code>/usr/local/apache/bin/apxs</code> <code>\</code>
<code>--with-mysql=</code><code>/usr/local/mysql</code> <code>\</code>
<code>--with-mysqli=</code><code>/usr/local/mysql/bin/mysql_config</code> <code>\</code>
<code>--</code><code>enable</code><code>-soap --</code><code>enable</code><code>-bcmath --</code><code>enable</code><code>-zip --</code><code>enable</code><code>-</code><code>ftp</code> <code>\</code>
<code>--</code><code>enable</code><code>-mbstring --with-gd --with-libxml-</code><code>dir</code> <code>--with-jpeg-</code><code>dir</code> <code>\</code>
<code>--with-png-</code><code>dir</code> <code>--with-freetype-</code><code>dir</code> <code>--with-zlib \</code>
<code>--with-curl --with-xsl --with-openssl</code>
<code>cp</code> <code>php.ini-production </code><code>/usr/local/php/etc/php</code><code>.ini</code>
<code>vi</code> <code>/usr/local/php/etc/php</code><code>.ini</code>
<code>date</code><code>.timezone = asia</code><code>/shanghai</code> <code>#設定時區</code>
<code>expose_php = off </code><code>#禁止顯示版本資訊</code>
注:如果mysql是rpm安裝的則--with-mysql即可!
參考基本完整的php配置:
./configure報錯:./configure: /usr/local/apache/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: no such file or directory
解決:vi /usr/local/apache/bin/apxs把第一行改為#!/usr/bin/perl -w即可!
3、添加apache支援php
<code>vi</code> <code>/usr/local/apache/conf/httpd</code><code>.conf</code>
<code>servername 本地ip:80</code>
<code>#在addtype application/x-gzip .gz .tgz下面添加php頁面支援</code>
<code>addtype application</code><code>/x-httpd-php</code> <code>.php</code>
<code>addtype application</code><code>/x-httpd-php-source</code> <code>.phps</code>
<code>loadmodule php5_module modules</code><code>/libphp5</code><code>.so </code><code>#編譯php時候加--with-apxs2參數才會自動生成</code>
<code>directoryindex index.html index.php </code><code>#找到這一行,添加index.php索引頁</code>
4、測試
<code>chown</code> <code>apache.apache </code><code>/usr/local/apache/htdocs</code> <code>-r </code><code>#設定目錄所有者</code>
<code>chmod</code> <code>774 </code><code>/usr/local/apache/htdocs</code> <code>-r </code><code>#設定目錄權限</code>
<code>service httpd restart</code>
<code>service mysqld restart</code>
<code>vi</code> <code>index.php</code>
<code><?php phpinfo();?></code>
輸入:http://127.0.0.1 #可以看到相關的配置資訊!
四、安裝memcached
memcache緩存資料庫:減少資料庫壓力。高性能的分布式記憶體緩存伺服器,用于動态web應用,減少i/o,提高web通路速度以減輕資料庫負載,以提高動态web應用的速度、提高可擴充性。利用 memcached 處理實時資料讀寫;mysql是影響性能的最大瓶頸,可以用一台mysql主庫(隻寫)+多台mysql輔庫(隻讀)的主輔庫叢集來解決。另外,通路計數等實時性很強的東西用memcache做緩存。基于c#語言寫的調用libevent庫事件來實作。
http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz
http://pecl.php.net/get/memcache-3.0.6.tgz
1、安裝libevent
<code>yum </code><code>install</code> <code>-y libevent libevent-devel</code>
2、安裝memcached
<code>tar</code> <code>zxvf memcached-1.4.15.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>memcached-1.4.15</code>
<code>.</code><code>/configure</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
3、安裝memcache用戶端php擴充
<code>tar</code> <code>vxzf memcache-3.0.6.tgz</code>
<code>cd</code> <code>memcache-3.0.6</code>
<code>/usr/local/php/bin/phpize</code>
<code>.</code><code>/configure</code> <code>–with-php-config=</code><code>/usr/local/php/bin/php-config</code>
4、在php.ini添加memcache子產品
<code>vi</code> <code>/etc/php</code><code>.ini</code>
<code>extension=memcache.so</code>
5、啟動memcached服務端
<code>/usr/local/bin/memcached</code> <code>-d -m 128 -l 192.168.0.10 -p 11211</code>
<code>killall -9 memcached </code><code>#關閉memcached</code>
-d:選項是啟動一個守護程序,
-m:是配置設定給memcache使用的記憶體數量,機關是mb
-u:是運作memcache的使用者
-l:是監聽的伺服器ip位址
-p:是設定memcache監聽的端口,最好是1024以上的端口
-c:選項是最大運作的并發連接配接數,預設是1024,根據你伺服器的負載量來設定
-p:是設定儲存memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid
用戶端測試
telnet 192.168.0.202 11211
或phpinfo檢視是否被加載子產品
常用指令:status、version、flush_all、quit、get、add、set等