tgdf 发表于 2014-10-30 08:55:21

Lamp(fastcgi)环境的搭建

FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。mysql源码然后解压进行安装在之前先建个mysql账号mysql组(有了则不需要建立)# groupadd mysql# useradd -r -g mysql mysql# rpm -qa |grep mysql查看之前安装 与mysql想关的包,删除# yum --disablerepo=* --enablerepo=c6-media remove mysql-libs   软件包移除# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local进行解压# cd /usr/local/srccmake ./ -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编译安装# ln -s mysql-5.5.15-linux2.6-i686/ mysql做个链接# cd 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 . # chown -R mysql:mysql .改变当前目录所有者与所有组为mysql# ./scripts/mysql_install_db --user=mysql进行安装如果出现这样的错误就需要安装libaio# yum --disablerepo=* --enablerepo=c6-media install libaio libaio-devel -y进行安装# ./scripts/mysql_install_db --user=mysql重新安装# cd data/# ll mysql/查看mysql目录下是否有数据,有数据的话表明安装成功# cd ..   进入mysql目录# chown -R root .改变当前所有用户为管理员# chown -R mysql data/   将data用户改为mysql# cp my.cnf /etccopy文件到my.cnf# cd support-files/# cp -p mysql.server /etc/init.d/mysqld    复制mysql文件到mysqld下
# service mysqld start测试是否能够启动# vim /etc/profile    修改配置文件
PATH=$PATH:/usr/local/mysql/bin添加此语句# . /etc/profile   重新读取# mysql进入mysql# mysqladmin -u root -p password '123'设置mysql密码# chkconfig --add mysql启动系统启动# chkconfig mysqld on# vim /etc/ld.so.conf.d/mysql.conf编辑mysql配置文件
写入此路径# ldconfig   刷新缓存# ldconfig -pv |grep mysql查看结果
# cd /usr/include/进入目录# ln -s /usr/local/mysql/include/ mysql   做一个链接# vim /etc/man.config   处理man手册
MANPATH /usr/local/mysql/man加入即可# man mysql进行测试Mysql处理成功然后进行apach的安装httpd-2.4.4.tar.bz2 apr-1.4.6.tar.gzapr-1.4.6.tar.gz   需要这3个软件包# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/解压apr软件包# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/   解压aprutil软件包# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/   解压httpd软件包# cd /usr/local/src/apr-1.4.6/   进入apr目录# ./configure --prefix=/usr/local/apr   进行编译# make && make install安装# cd ../apr-util-1.5.1/   切换到apr-util目录# ./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config      编译,指定工具安装路径,指定apr的路径# make && make install进行编译安装# 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包# yum --disablerepo=* --enablerepo=c6-media install pcre-devel -y安装包然后再进行编译配置
出现这个错误提示,需要安装# yum --disablerepo=* --enablerepo=c6-media install openssl-devel -y再进行编译配置通过后# make && make install配置安装完成后# cd /usr/local/apache/进入apache目录# vim /etc/profile编辑profile文件
/usr/local/apache/bin   增加新的路径# . /etc/profile进行更新# httpd -k start测试是否能启动# netstat -tupln |grep 80查看80端口是否开启# vim /etc/man.config   编辑man配置文件
加入MANPATH /usr/local/apache/man# man ab   尝试下是否生效# cd /usr/include/进入include目录# ln -s /usr/local/apache/include/ apache做个链接# cd /etc/init.d/   进入目录# touch httpd创建httpd文件# chmod a+x httpd加入可执行权限# vim httpd   进行编辑 #!/bin/bash2 prog=/usr/local/apache/bin/httpd3 lockfile=/var/lock/subsys/httpd4 # description: the apache service5 # chkconfig: 2345 88 446 start(){7   if [ -e $lockfile ];then8      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启动关闭动态效果# chkconfig --add httpd加入httpd服务# chkconfig --list |grep httpd查看服务启动
# cd /usr/local/apache/进入apache目录root@wang apache]# cd modules/# ll |grep proxy查看是否有与proxy相关的模块# vim /etc/httpd/httpd.conf进入配置文件
打开proxy模块和fcgi模块# service httpd restart   重启httpdPhp安装需要安装的包# yum --disablerepo=* --enablerepo=c6-media install libcm12-devel libjpeg-turbo-devel libpng-devel freetype-devel -yroot@wang ~]# tar -jxvf php-5.5.8.tar.bz2 -C/usr/local/src/解压软件包# cd /usr/local/src/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    配置安装出现需要安装# yum --disablerepo=* --enablerepo=c6-media install libjpeg* -y出现
需要安装# yum --disablerepo=* --enablerepo=c6-media install libpng-devel-y出现
需要安装 # yum --disablerepo=* --enablerepo=c6-media install freetype* -y出现什么就 rpm -qa |grep 包名找到包安装其devel包即可
接下来需要make && make isntall 因为时间比较长,睡眠的时候可能连接断开所以需要screen来实现安装# yum --disablerepo=* --enablerepo=c6-media install screen -y   安装screen# screen   使用screen又打开了一个窗口ctrl+a+d可以离开   screen -ls可以查看恢复的话 screen -r 编号# make && make install然后进行后台配置安装因为要把php座位单独的服务器,所以需要# cd sapi/# cd fpm/# grep -E "start|stop|restart" *查找哪个文件是配置文件# cp init.d.php-fpm /etc/init.d/php-fpm将配置文件拷贝到php-fpm目录# chmod a+x /etc/init.d/php-fpm   给予可执行权限# service php-fpm start   尝试启动下
显示缺少配置文件# cd /usr/local/php/# cd etc/      进入安装目录# cp php-fpm.conf.default php-fpm.conf   将默认配置文件拷贝成正式的配置文件# service php-fpm start   再次重启下# netstat -tupln|grep phptcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN      8885/php-fpm   查找php-fpm进程是9000.端口说明正确安装# chkconfig --add php-fpm加入指定启动阵列# chkconfig php-fpm on加入开机启动# mkdir /etc/php /etc/php5.d   创建2个目录# cd /usr/local/src/php-5.5.8/ 进入php源码目录# ll |grep ini   查找是否有与ini相关的文件# cp php.ini-production /etc/php/php.ini 将文件拷贝到php目录下# service php-fpm restart    重新启动php-fpm然后需要设置反向代理,将访问返回至127.0.0.1 9000端口给php-fpm# vim /etc/httpd/httpd.conf   打开apach配置文档
添加如上信息AddType application/x-httpd-php.phpAddType application/x-httpd-php-source.phpsProxyRequests Off      //关闭正向代理ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1//请求为php类型进行反向代理
点名首页为 index.php# service httpd restart   重启apache# cd /usr/local/apache/htdocs/进入apache主目录# vim index.php做个测试页面
即如此,调用phpinfo()函数然后登陆进行测试
成功查看是否能够连接数据库# vim index.php   编辑网页文件
为如此即可
然后进行连接测试
显示ok,能够连接数据库# service mysqld stop停止数据库进行测试
显示not,无法连接数据库,正确然后放入php动态网页就行测试
将这2个软件进行解压测试# unzip phpwind_v9.0_gbk解压wind# cd phpwind_v9.0_gbk# mv upgrade/ /usr/local/apache/htdocs/phpwind将文件移动到apache根目录然后进行访问
成功访问
需要修改权限# chmod -R o+w html/ src/ attachment/ data/ template/ windid conf/ thems/刷新即可
然后设置必要的数据可以使用,然后测试其他的页面# unzip phpMyAdmin-4.1.5-all-languages.zip   解压此包# mv phpMyAdmin-4.1.5-all-languages /usr/local/apache/htdocs/phpmyadmin移动目录然后进行访问
成功访问然后输入账号密码就能访问数据库了


然后进行压力测试# ab -n 1000 -c 500 http://192.168.2.50/phpmyadmin

800多再测试一下加入缓存测试下
解压xcache软件包# tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/# cd /usr/local/src/xcache-3.1.0/   进入解压的文件# /usr/local/php/bin/phpize   用工具做成php的扩展执行过后将出现configure# ./configure --help|grep -E "xcache|php"查询关于xcache和php的配置方法# ./configure --enable-xcache- -with-php-config=/usr/local/php/bin/php-config    进行配置# make && make install配置安装# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/进入目录查看下模块# lsopcache.aopcache.soxcache.so    成功# cp xcache.so /etc/php5.d/把模块移动到php5.d目录下# cd /usr/local/src/xcache-3.1.0/# ll |grep ini查找ini相关的文件# cp xcache.ini /etc/php5.d/将配置文件拷贝到此目录下# vim /etc/php5.d/xcache.ini   可以查看进行的配置# service php-fpm restart   重启php-fpm然后浏览器进入网页测试下xcache是否加载成功
由此可看出xcache.ini 被成功加载
Xcache搜索能搜到缓存做成后,重新进行压力测试# ab -n 1000 -c 500 http://192.168.2.50/phpmyadmin
速度明显提高

页: [1]
查看完整版本: Lamp(fastcgi)环境的搭建