云服务器 源码部署php服务与nginx 的整合
简介:php服务的搭建
1、PHP是一种脚本语言,常用于做动态网站的
nginx适合处理静态的
2、源码编译安装:
2.1、安装依赖组件:
yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses ncursesdevel openssl openssl-devel
yum install -y libxml2-devel
2.2、解压php并进入解压后php包
tar -xf php-5.5.35.tar.gz
cd php-5.5.35
./configure --prefix=/usr/local/php/ --enable-fpm --with-config-file=/usr/local/php/etc
--enable-fpm #打开php与nginx的集合
2.3、编译安装:
make -j 4 && make install
3、修改配置文件:
(图1,复制到2.2指定的属性安装路径)
cp -a php.ini-production /usr/local/php/etc/php.ini
(图二)
cp -a php-fpm.conf.default php-fpm.conf
4、启停php服务器:
(图一,./php-fpm)
/usr/local/php/sbin/php-fpm #启动
(图二)
php的默认端口是:9000
(图三)
cd /usr/local/php/sbin && pkill php-fpm #关闭
5、整合nginx测试php:
5.1、修改nginx配置文件并添加以下内容
vi /usr/local/nginx/conf/nginx.conf
以location搜索
location ~ \.php$ { #匹配以.php为结尾的文件
root /usr/local/nginx/html; #发布文件在这个目录下
fastcgi_pass 127.0.0.1:9000; # fastcgi是一个接口,是在http服务器与php动态脚本语言通信的接口。就是nginx与php之间通信的接口,即nginx与php之间的桥梁,遇到php的动态程序直接交给fastcgi 这个进程来处理,把处理的结果返回给浏览器的客户端。。 #pass 把这个请求的内容转发给127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_param SCRIPT_FILENAME在浏览器中访问php文件 $document_root$fastcgi_script_name 指定脚本文件的请求路径(document_root获取到的变量就是/usr/local/nginx/html fastcgi_script_name 指定脚本的名称)
include fastcgi_params; #引入fastcgi的配置文件
}
5.2、修改后对nginx进行重启
/usr/local/nginx/sbin/nginx -s reload
FastCGI是 一个 在HTTP服务器和动态脚本语言间通信的接口
fastcgi_pass 127.0.0.1:9000; #设置监听端口
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #设置脚本文件请求的路径
include fastcgi_params; #引入fastcgi的配置文件
6、在nginx的网站发布路径下创建index.php文件
vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
重启nginx
7、打开浏览器访问 IP/index.php,能出来就成功了
http://192.168.139.128/index.php