LNMP-PHP(FastCGI)
PHP安装
nginx、mysql、PHP 在同一服务器上安装。
检查nginx、mysql正常可以使用
启动nginx&mysql情况下检查 #确定服务端口已启动 netstat -lntup | grep 80 netstat -lntup | grep 3306 #检查访问nginx wget 127.0.0.1 返回内容:HTTP request sent, awaiting response... 200 OK #检查登陆mysql mysql -uroot -p 可以登录就OK
PHP依赖包安装
#安装签先配置yum源(我用的163源) cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup cd /etc/yum.repos.d/ wget http://mirrors.163.com/.help/CentOS6-Base-163.repo yum makecache yum -y update yum -y install vim* #开始安装依赖包 yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libconv-devel -y yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y yum install -y libmcrypt-devel yum install -y mcrypt #编译安装libconv https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
php编译安装
#下载安装包 cd /mnt/app/ #php5.6版本 wget http://cn2.php.net/distributions/php-5.6.36.tar.gz #解压安装包 tar xf php-5.6.36.tar.gz cd php-5.6.36 #执行安装(“\”后面不能又空格) ./configure \ --prefix=/application/php5.6 \ --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-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --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 #没有报错,正常执行完成会显示 Thank you for using PHP . #执行编译 make 正常不报错执行完会显示 “ Don't forget to run 'make test' ”. 没问题继续执行 make install #没报错正常会显示 You may want to add: /application/php5.6/lib/php to your php.ini include_path /mnt/app/php-5.6.36/build/shtool install -c ext/phar/phar.phar /application/php5.6/bin ln -s -f phar.phar /application/php5.6/bin/phar
配置PHP
#配置PHP ln -s /application/php-5.6.36 /application/php #在php安装包目录下 cp php.ini-production /application/php/lib/php.ini ll /application/php/lib/php.ini # cd到/application/php/etc/目录下 cp php-fpm.conf.default php-fpm.conf #运行php /application/php/sbin/php-fpm
安装参数说明
--prrefix=/application/php5.6 #表示指定安装路径为/application/php5.6 --with-mysql=/application/mysql #表示mysql的安装路径 --with-fpm-user=nginx #表示指定PHP-FPM进程管理用户是Nginx --with-fpm-group=nginx #表示指定PHP-FPM进程管理用户组是Nginx --enable-fpm #表示激活PHP-FPM方式服务,以FastCGIF方式运行PHP服务 ###可以执行./configure --help查看详细参数用途
配置nginx支持php
ps -ef|grep php-fpm
确定php已启动
编辑nginx配置文件
vi /application/nginx/conf/nginx.conf #编辑server模块内的内容 server { listen 80; server_name www.hello.com; location / { root html/www; index index.html index.htm; } location ~ .*\.(php|php5) ?$ { root html/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.cong; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
检查nginx,没有问题则重启
/application/nginx/sbin/nginx -t 如果没有问题则: /application/nginx/sbin/nginx -s reload
检测LNMP环境是否生效
cd /application/nginx/html/www echo "<?php phpinfo(); ?>" >test_info.php cat test_info.php <?php phpinfo(); ?>
访问:www.hello.com/test_info.php
如果显示如下页面则表示成功