Linux-Nginx+PHP

1.源码包安装Nginx

#安装依赖包
yum -y install wget gcc make pcre-devel zlib-devel tar zlib openssl-devel
 
#下载nginx源码包
wget https://nginx.org/download/nginx-1.17.9.tar.gz
 
#解压进入目录
tar nginx-1.17.9.tar.gz
cd ./nginx-1.17.9
 
#添加nginx用户
useradd nginx -s /sbin/nologin
 
#编译安装(参数可根据自己需求进行添加)
./configure --prefix=/usr/local/nginx --user=nginx 
--group=nginx --with-http_ssl_module 
--with-http_stub_status_module 
--with-stream=dynamic
 
make && make install
 
#创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
 
#启动nginx
nginx
 
#测试nginx
浏览器输入:http://服务器ip

 2.源码安装PHP

#安装依赖包
yum install -y make sed gcc gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl openssl-devel

#下载php-7.1.5
链接:https://pan.baidu.com/s/1IJeo2cMflgzdiYJxqSRyaA 
提取码:vvqo

#解压并安装
tar -zxvf php-7.1.5.tar.gz
cd ./php-7.1.5

./configure --prefix=/usr/local/php7.1 
    --with-config-file-path=/usr/local/php/etc 
    --with-pdo-mysql --with-mysqli 
    --with-openssl --with-zlib --with-curl --with-gd 
    --with-jpeg-dir --with-png-dir --with-iconv 
    --enable-fpm --enable-zip --enable-mbstring

make -j 4 && make install

#备份配置文件
cp /usr/local/php7.1/etc/php-fpm.conf.default /usr/local/php7.1/etc/php-fpm.conf

#拷贝php.ini文件
cp ./php.ini-production  /usr/local/php7.1/etc/php.ini

#拷贝主机配置文件
cp /usr/local/php7.1/etc/php-fpm.d/www.conf.default /usr/local/php7.1/etc/php-fpm.d/www.conf

#拷贝php-fpm文件
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

注:以上操作都是make install以后,在php-7.1.5目录中操作。

#修改配置文件
sed -i "s/listen = 127.0.0.1:9000/listen = 0.0.0.0:9000/" /usr/local/php7.1/etc/php-fpm.d/www.conf    #修改ip和监听端口
sed -i "s/user = nobody/user = nginx/;s/group = nobody/group = nginx/" /usr/local/php7.1/etc/php-fpm.d/www.conf    #修改运行用户

#增加php-fpm执行权限
chmod +x /etc/init.d/php-fpm

#启动php
/etc/init.d/php-fpm start

 3.配置nginx支持php

#3.1Nginx主配置文件配置
vim /usr/local/nginx/conf/nginx.conf
 
user nginx;    #运行用户
worker_processes auto;     #进程数
error_log /usr/local/nginx/logs/error.log;
pid logs/nginx.pid;
 
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/local/nginx/modules/*.conf;
 
events {
    worker_connections 1024;     #最大连接数(可根据服务器性能相应调大)
}
 
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr"';
 
    access_log  /usr/local/nginx/logs/access.log  main;
 
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
 
    include             mime.types;
    default_type        application/octet-stream;
 
    include /usr/local/nginx/conf/conf.d/*.conf;     #虚拟主机配置文件目录
 
}

#3.2虚拟主机文件配置
#创建conf.d目录(存放nginx转发的配置文件)
mkdir /usr/local/nginx/conf/conf.d

#创建主机文件,使nginx支持php
vim /usr/local/nginx/conf/conf.d/default.conf
 
server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location ~ .php$ {
            root         html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}

4.测试php可用

#创建php测试文件
vim /usr/local/nginx/html/test.php

<?php
phpinfo();
?>

#保存退出


#测试
浏览器输入:http://服务器ip/test.php

 至此配置完成,此配置是在单台模式下配置。如果需要集群配置只需修改ip即可。

原文地址:https://www.cnblogs.com/qiandong/p/12886995.html