FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行着,只要激活後,不會每次都要花費時間去fork一次(這是CGI最爲人詬病的fork-and-execute 模式)。它還支持分佈式的運算, 即 FastCGI 程序可以在網站服務器以外的主機上執行並且接受來自其它網站服務器來的請求。
mysql源碼
然後解壓進行安裝
在之前先建個mysql賬號mysql組(有了則不需要建立)
[root@wang ~]# groupadd mysql
[root@wang ~]# useradd -r -g mysql mysql
[root@wang ~]# rpm -qa |grep mysql 查看之前安裝 與mysql想關的包,刪除
[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media remove mysql-libs 軟件包移除
[root@wang ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local 進行解壓
[root@wang ~]# cd /usr/local/src
cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 進行編譯
make && make install 編譯安裝
[root@wang local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql 做個鏈接
[root@wang local]# cd mysql
[root@wang mysql]# vim INSTALL-BINARY 可以查看幫助文件進行安裝
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
[root@wang mysql]# chown -R mysql:mysql . 改變當前目錄所有者與所有組爲mysql
[root@wang mysql]# ./scripts/mysql_install_db --user=mysql 進行安裝
如果出現這樣的錯誤就需要安裝libaio
[root@wang mysql]# yum --disablerepo=\* --enablerepo=c6-media install libaio libaio-devel -y 進行安裝
[root@wang mysql]# ./scripts/mysql_install_db --user=mysql 重新安裝
[root@wang mysql]# cd data/
[root@wang data]# ll mysql/ 查看mysql目錄下是否有數據,有數據的話表明安裝成功
[root@wang data]# cd .. 進入mysql目錄
[root@wang mysql]# chown -R root . 改變當前所有用戶爲管理員
[root@wang mysql]# chown -R mysql data/ 將data用戶改爲mysql
[root@wang mysql]# cp my.cnf /etc copy文件到my.cnf
[root@wang mysql]# cd support-files/
[root@wang support-files]# cp -p mysql.server /etc/init.d/mysqld 複製mysql文件到mysqld下
[root@wang support-files]# service mysqld start 測試是否能夠啓動
[root@wang mysql]# vim /etc/profile 修改配置文件
PATH=$PATH:/usr/local/mysql/bin 添加此語句
[root@wang mysql]# . /etc/profile 重新讀取
[root@wang mysql]# mysql 進入mysql
[root@wang mysql]# mysqladmin -u root -p password '123' 設置mysql密碼
[root@wang mysql]# chkconfig --add mysql 啓動系統啓動
[root@wang mysql]# chkconfig mysqld on
[root@wang mysql]# vim /etc/ld.so.conf.d/mysql.conf 編輯mysql配置文件
寫入此路徑
[root@wang mysql]# ldconfig 刷新緩存
[root@wang mysql]# ldconfig -pv |grep mysql 查看結果
[root@wang mysql]# cd /usr/include/ 進入目錄
[root@wang include]# ln -s /usr/local/mysql/include/ mysql 做一個鏈接
[root@wang mysql]# vim /etc/man.config 處理man手冊
MANPATH /usr/local/mysql/man 加入即可
[root@wang mysql]# man mysql 進行測試
Mysql處理成功
然後進行apach的安裝
httpd-2.4.4.tar.bz2
apr-1.4.6.tar.gz
apr-1.4.6.tar.gz 需要這3個軟件包
[root@wang ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ 解壓apr軟件包
[root@wang ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/ 解壓aprutil軟件包
[root@wang ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/ 解壓httpd軟件包
[root@wang ~]# cd /usr/local/src/apr-1.4.6/ 進入apr目錄
[root@wang apr-1.4.6]# ./configure --prefix=/usr/local/apr 進行編譯
[root@wang apr-1.4.6]# make && make install 安裝
[root@wang apr-1.4.6]# cd ../apr-util-1.5.1/ 切換到apr-util目錄
[root@wang apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config 編譯,指定工具安裝路徑,指定apr的路徑
[root@wang apr-util-1.5.1]# make && make install 進行編譯安裝
[root@wang apr-util-1.5.1]# cd ../httpd-2.4.4/ 配置httpd
./configure \
--prefix=/usr/local/apache \
--sysconfdir=/etc/httpd \
--enable-so \
--enable-ssl \
--enable-rewrite \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-utils/bin/apu-1-config \
--with-pcre \
-with-z \
--enable-mpms-shared=all 進行編譯配置
出現錯誤提示,需要安裝pcre-devel包
[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install pcre-devel -y 安裝包
然後再進行編譯配置
出現這個錯誤提示,需要安裝[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install openssl-devel -y
再進行編譯配置通過後
[root@wang httpd-2.4.4]# make && make install 配置安裝
完成後
[root@wang httpd-2.4.4]# cd /usr/local/apache/ 進入apache目錄
[root@wang apache]# vim /etc/profile 編輯profile文件
/usr/local/apache/bin 增加新的路徑
[root@wang apache]# . /etc/profile 進行更新
[root@wang apache]# httpd -k start 測試是否能啓動
[root@wang apache]# netstat -tupln |grep 80 查看80端口是否開啓
[root@wang apache]# vim /etc/man.config 編輯man配置文件
加入MANPATH /usr/local/apache/man
[root@wang apache]# man ab 嘗試下是否生效
[root@wang apache]# cd /usr/include/ 進入include目錄
[root@wang include]# ln -s /usr/local/apache/include/ apache 做個鏈接
[root@wang ~]# cd /etc/init.d/ 進入目錄
[root@wang init.d]# touch httpd 創建httpd文件
[root@wang init.d]# chmod a+x httpd 加入可執行權限
[root@wang init.d]# vim httpd 進行編輯
#!/bin/bash
2 prog=/usr/local/apache/bin/httpd
3 lockfile=/var/lock/subsys/httpd
4 # description: the apache service
5 # chkconfig: 2345 88 44
6 start(){
7 if [ -e $lockfile ];then
8 echo "the apache service is started"
9 else
10 echo -n "the apache service is starting ...."
11 sleep 1
12 $prog -k start && echo "ok" && touch $lockfile || echo "failer"
13 fi
14
15 }
16
17 stop(){
18 if [ !e $lockfile ];then
19 echo "the apache service is stopped"
20 else
21 echo "the apache service is stoping..."
22 $prog -k stop && echo "ok" && rm -rf $lockfile || echo "failer"
23 fi
24
25 }
26
27
28 case "$1" in
29 start)
30 start
31 ;;
32 stop)
33 stop
34 ;;
35 restart)
36 stop
37 start
38 ;;
39 *)
40 echo "Usage: start|stop|restart"
41 ;;
42 esac
添加此代碼來實現httpd啓動關閉動態效果
[root@wang init.d]# chkconfig --add httpd 加入httpd服務
[root@wang init.d]# chkconfig --list |grep httpd 查看服務啓動
[root@wang ~]# cd /usr/local/apache/ 進入apache目錄
root@wang apache]# cd modules/
[root@wang modules]# ll |grep proxy 查看是否有與proxy相關的模塊
[root@wang modules]# vim /etc/httpd/httpd.conf 進入配置文件
打開proxy模塊和fcgi模塊
[root@wang modules]# service httpd restart 重啓httpd
Php安裝
需要安裝的包
[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install libcm12-devel libjpeg-turbo-devel libpng-devel freetype-devel -y
root@wang ~]# tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/ 解壓軟件包
[root@wang ~]# cd /usr/local/src/php-5.5.8/
[root@wang php-5.5.8]# ./configure \
> --prefix=/usr/local/php \
> --enable-fpm \
> --enable-sockets \
> --with-mysql=/usr/local/mysql \
> --with-pdo-mysql=/usr/local/mysql \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-mbstring \
> --enable-xml \
> --with-png-dir \
> --with-gd \
> --with-jpeg-dir \
> --with-zlib \
> --with-freetype-dir \
> --with-config-file-path=/etc/php \
> --with-config-file-scan-dir=/etc/php5.d 配置安裝
出現
需要安裝[root@wang Packages]# yum --disablerepo=\* --enablerepo=c6-media install libjpeg* -y
出現
需要安裝[root@wang Packages]# yum --disablerepo=\* --enablerepo=c6-media install libpng-devel -y
出現
需要安裝 [root@wang Packages]# yum --disablerepo=\* --enablerepo=c6-media install freetype* -y
出現什麼就 rpm -qa |grep 包名 找到包安裝其devel包即可
接下來需要make && make isntall 因爲時間比較長,睡眠的時候可能連接斷開所以需要screen來實現安裝
[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install screen -y 安裝screen
[root@wang php-5.5.8]# screen 使用screen
又打開了一個窗口 ctrl+a+d可以離開 screen -ls可以查看
恢復的話 screen -r 編號
[root@wang php-5.5.8]# make && make install 然後進行後臺配置安裝
因爲要把php座位單獨的服務器,所以需要
[root@wang php-5.5.8]# cd sapi/
[root@wang sapi]# cd fpm/
[root@wang fpm]# grep -E "start|stop|restart" * 查找哪個文件是配置文件
[root@wang fpm]# cp init.d.php-fpm /etc/init.d/php-fpm 將配置文件拷貝到php-fpm目錄
[root@wang fpm]# chmod a+x /etc/init.d/php-fpm 給予可執行權限
[root@wang fpm]# service php-fpm start 嘗試啓動下
顯示缺少配置文件
[root@wang fpm]# cd /usr/local/php/
[root@wang php]# cd etc/ 進入安裝目錄
[root@wang etc]# cp php-fpm.conf.default php-fpm.conf 將默認配置文件拷貝成正式的配置文件
[root@wang etc]# service php-fpm start 再次重啓下
[root@wang etc]# netstat -tupln|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 8885/php-fpm
查找php-fpm進程是9000.端口說明正確安裝
[root@wang etc]# chkconfig --add php-fpm 加入指定啓動陣列
[root@wang etc]# chkconfig php-fpm on 加入開機啓動
[root@wang etc]# mkdir /etc/php /etc/php5.d 創建2個目錄
[root@wang etc]# cd /usr/local/src/php-5.5.8/ 進入php源碼目錄
[root@wang php-5.5.8]# ll |grep ini 查找是否有與ini相關的文件
[root@wang php-5.5.8]# cp php.ini-production /etc/php/php.ini 將文件拷貝到php目錄下
[root@wang php-5.5.8]# service php-fpm restart 重新啓動php-fpm
然後需要設置反向代理,將訪問返回至127.0.0.1 9000端口給php-fpm
[root@wang php-5.5.8]# vim /etc/httpd/httpd.conf 打開apach配置文檔
添加如上信息 AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off //關閉正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1 //請求爲php類型進行反向代理
點名首頁爲 index.php
[root@wang php-5.5.8]# service httpd restart 重啓apache
[root@wang php-5.5.8]# cd /usr/local/apache/htdocs/ 進入apache主目錄
[root@wang htdocs]# vim index.php 做個測試頁面
即如此,調用phpinfo()函數
然後登陸進行測試
成功
查看是否能夠連接數據庫
[root@wang htdocs]# vim index.php 編輯網頁文件
爲如此即可
<?php
$link=mysql_connect('127.0.0.1','root','123');
if ($link)
echo "ok";
else
echo "not"
?>
然後進行連接測試
顯示ok,能夠連接數據庫
[root@wang htdocs]# service mysqld stop 停止數據庫進行測試
顯示not,無法連接數據庫,正確
然後放入php動態網頁就行測試
將這2個軟件進行解壓測試
[root@wang ~]# unzip phpwind_v9.0_gbk 解壓wind
[root@wang ~]# cd phpwind_v9.0_gbk
[root@wang phpwind_v9.0_gbk]# mv upgrade/ /usr/local/apache/htdocs/phpwind 將文件移動到apache根目錄
然後進行訪問
成功訪問
需要修改權限
[root@wang phpwind]# chmod -R o+w html/ src/ attachment/ data/ template/ windid conf/ thems/ 刷新即可
然後設置必要的數據
可以使用,然後測試其他的頁面
[root@wang ~]# unzip phpMyAdmin-4.1.5-all-languages.zip 解壓此包
[root@wang ~]# mv phpMyAdmin-4.1.5-all-languages /usr/local/apache/htdocs/phpmyadmin 移動目錄
然後進行訪問
成功訪問
然後輸入賬號密碼就能訪問數據庫了
然後進行壓力測試
[root@wang php-5.5.8]# ab -n 1000 -c 500 http://192.168.2.50/phpmyadmin
800多
再測試一下
加入緩存測試下
解壓xcache軟件包
[root@wang ~]# tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/
[root@wang ~]# cd /usr/local/src/xcache-3.1.0/ 進入解壓的文件
[root@wang xcache-3.1.0]# /usr/local/php/bin/phpize 用工具做成php的擴展
執行過後將出現configure
[root@wang xcache-3.1.0]# ./configure --help|grep -E "xcache|php" 查詢關於xcache和php的配置方法
[root@wang xcache-3.1.0]# ./configure --enable-xcache- -with-php-config=/usr/local/php/bin/php-config 進行配置
[root@wang xcache-3.1.0]# make && make install 配置安裝
[root@wang xcache-3.1.0]# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ 進入目錄查看下模塊
[root@wang no-debug-non-zts-20121212]# ls
opcache.a opcache.so xcache.so 成功
[root@wang no-debug-non-zts-20121212]# cp xcache.so /etc/php5.d/ 把模塊移動到php5.d目錄下
[root@wang no-debug-non-zts-20121212]# cd /usr/local/src/xcache-3.1.0/
[root@wang xcache-3.1.0]# ll |grep ini 查找ini相關的文件
[root@wang xcache-3.1.0]# cp xcache.ini /etc/php5.d/ 將配置文件拷貝到此目錄下
[root@wang htdocs]# vim /etc/php5.d/xcache.ini 可以查看進行的配置
[root@wang htdocs]# service php-fpm restart 重啓php-fpm
然後瀏覽器進入網頁測試下xcache是否加載成功
由此可看出xcache.ini 被成功加載
Xcache搜索能搜到
緩存做成後,重新進行壓力測試
[root@wang htdocs]# ab -n 1000 -c 500 http://192.168.2.50/phpmyadmin
速度明顯提高