一、环境准备
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
安装字符集转换的库
tar -zxf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install
加密的库,并不是必须要装的
tar -zxf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure make && make install sleep 2 /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install make && make install
Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)
tar -zxf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9 ./configure make && make install echo $?
rm -f /usr/lib64/libmcrypt.* rm -f /usr/lib64/libmhash* ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4 ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8 ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2 ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
tar -zxf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 /sbin/ldconfig ./configure LD_LIBRARY_PATH=/usr/local/lib make && make install
二、php安装
不安装的问题就是可能会报错 yum install libxslt* -y tar -zxf php-5.3.27.tar.gz cd php-5.3.27
1)编译安装
./configure --prefix=/application/php5.3.27 --with-mysql=/application/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm (这个参数很重要,5.3和5.2的不一样,fcgi) --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ make && make install ln -s /application/php5.3.27/ /application/php
2)nginx的php有两个配置文件,php.ini php-fpm.conf
拷贝php配置文件 [root@rsyncclient php-5.3.27]# cp php.ini-production /application/php/lib/php.ini
补充,优化:
ulimit -n
http://blog.csdn.net/yangzhenzhen/article/details/8905846
3)配置php-fpm
[root@rsyncclient etc]# cp php-fpm.conf.default php-fpm.conf [root@rsyncclient lib]# mkdir -p /app/logs/ [root@rsyncclient etc]# /application/php/sbin/php-fpm -t [18-Aug-2017 06:14:26] NOTICE: configuration file /application/php5.3.27/etc/php-fpm.conf test is successful [root@rsyncclient etc]# /application/php/sbin/php-fpm [root@rsyncclient etc]# netstat -tnlp | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 36309/php-fpm
4)配置开机启动
可以配置它的开机启动 cat >>/etc/rc.local <<EOF /etc/init.d/mysqld start /application/php/sbin/php-fpm /application/nginx/sbin/nginx EOF
补充
[root@rsyncclient extra]# sed -e '6,12s/#//g' bbs.conf
[root@rsyncclient extra]# sed -i '6,12s/#//g' bbs.conf
三、nginx与php关联
一个web站点的配置
[root@rsyncclient extra]# vim bbs.conf server { listen 80; server_name bbs.etiantian.org; root html/bbs; index index.php index.html index.htm; location ~.*.(php|php5)?$ { # root html/bbs; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; } }
主配置
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; error_log logs/error.log error; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include extra/cms.conf; include extra/bbs.conf; #include extra/wiki.conf; }
此时也可以用我前面的方式,lamp的方式检测nginx与php,php与数据库的联系。