安装php并使用nginx连接PHP

Posted 露似真珠月似弓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装php并使用nginx连接PHP相关的知识,希望对你有一定的参考价值。

版本是5.6.31

安装前需要安装的包:

yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel  freetype-devel -y

编译如下:

./configure --prefix=/usr/local/php-5.6.31 \\
--with-config-file-path=/usr/local/php-5.6.31/etc --with-bz2 --with-curl \\
--enable-ftp --enable-sockets --disable-ipv6 --with-gd \\
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local \\
--with-freetype-dir=/usr/local --enable-gd-native-ttf \\
--with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \\
--with-gettext --with-libxml-dir=/usr/local --with-zlib \\
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \\
--enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath --with-xpm-dir=/usr

如果报错,可以参考:http://www.linuxidc.com/Linux/2014-05/102327.htm 或者 http://blog.sina.com.cn/s/blog_75a07c3b0101kcwb.html

make 

make install

安装完成后需要配置Php,打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了

把安装源文件中的php.ini-production复制到/usr/local/php-5.6.31/etc下面,改名为php.ini

修改如下参数:

max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone PRC
 
然后:cp /usr/local/php-5.6.31/etc/php-fpm.conf.default /usr/local/php-5.6.31/etc/php-fpm.conf
 
启动php-fpm
[root@zabbixserver sbin]# ./php-fpm 
[root@zabbixserver sbin]# netstat -lnt|grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN   

 

 

配置nginx连接php

mkdir -p /data/logs/nginx/ # 用于存放nginx日志

mkdir -p /data/site/zabbixserver.com/ # 站点根目录
vim /data/site/zabbixserver.com/info.php
<?php
phpinfo();
?>

在nginx.conf的http断中加上如下内容:

####################################start##############################

server {
listen 80;
server_name zabbixserver.com;
access_log /data/logs/nginx/zabbixserver.com.access.log main;

index index.php index.html index.html;
root /data/site/zabbixserver.com;

location /
{
try_files $uri $uri/ /index.php?$args;
}

location ~ .*\\.(php)?$
{
expires -1s;
try_files $uri =404;
fastcgi_split_path_info ^(.+\\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;

}
}

################################end################################

 

启动nginx的时候会报错,把以下取消注释就可以了

log_format  main  \'$remote_addr - $remote_user [$time_local] "$request" \'
                      \'$status $body_bytes_sent "$http_referer" \'
                      \'"$http_user_agent" "$http_x_forwarded_for"\';

 

启动nginx后

 

补充一个地方:此时在zabbserver服务器上使用浏览器打开http://localhost,会打开nginx的欢迎页面,但是http://zabbixserver.com会报403;在其它机器上访问都是403,如果要访问nginx欢迎页面,可以修改下配置文件的端口号,然后加端口号访问。

 

不过这时候在zabbixserver服务器上http://localhost:801

具体为什么?过段时间再学这个

 

以上是关于安装php并使用nginx连接PHP的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB PHP

Nginx 容器连接 php rc-fpm 容器编译 php

nginx连接PHP-fpm

nginx配置php环境,并测试PHP是否可以连接mysql

求大神指导Centos7 源码编译安装Nginx+PHP 配置动静分离

Linux-rhel6.4 编译安装PHP,Nginx与php连接