CentOS7安装Nginx-1.9.9+PHP7.3.6

前言

linux系统CentOS 7.6
阿里云服务器 CentOS7.6的系统 只安装Nginx-1.9.9+PHP5.6 环境,数据库也是使用阿里云Mysql数据库

准备

  1. pcre
    PCRE在linux系统里被其它的软件所依赖,所以一般的linux系统里都会装有,但是否是最新版本,是否满足要求,那就得看需求了。如果满足不了的话,还是需要编译安装最新版本的pcre软件

下载地址 https://ftp.pcre.org/pub/pcre/
wget下载路径 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz
这里用到的是
pcre-8.43.tar.gz

  1. zlib
    zlib是提供资料压缩之用的函式库

下载地址 http://www.zlib.net/
wget下载路径 http://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.11.tar.gz
这里用到的是
zlib-1.2.11.tar.gz

  1. openssl
    应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上

下载地址 http://www.openssl.org/source/
wget下载路径 http://www.openssl.org/source/openssl-1.0.2e.tar.gz
这里用到的是
openssl-1.0.2e.tar.gz

  1. nginx
    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务

下载地址 http://nginx.org/en/download.html
wget下载路径 http://nginx.org/download/nginx-1.9.9.tar.gz
这里用到的是
nginx-1.9.9.tar.gz

  1. php
    PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

下载地址 https://www.php.net/downloads.php
wget下载路径 https://www.php.net/distributions/php-7.3.6.tar.gz
这里用到的是
php-7.3.6.tar.gz

开始安装

shell端
先安装其他必须软件,安装gcc、gcc-c++
yum -y install gcc gcc-c++

注:我这里使用的两个目录分别为
安装包的目录文件是 /usr/src/nginx_php/
安装目录是 /usr/local/

进入到安装包目录
cd /usr/src/nginx_php

  1. pcre-8.43

解压缩pcre到当前文件夹
tar -zxvf pcre-8.43.tar.gz

进入解压缩目录
cd pcre-8.43

配置安装目录
./configure --prefix=/usr/local/pcre

编译
make

安装
make install

返回上级目录
cd ../
  1. zlib-1.2.11

解压缩zlib到当前文件夹
tar -zxvf zlib-1.2.11.tar.gz

进入解压缩目录
cd zlib-1.2.11

配置安装目录
./configure --prefix=/usr/local/zlib

编译
make

安装
make install

返回上级目录
cd ../
  1. openssl-1.0.2e.tar.gz

解压缩openssl到当前文件夹
tar -zxvf openssl-1.0.2e.tar.gz

进入解压缩目录
cd openssl-1.0.2e

配置安装目录
./config --prefix=/usr/local/openssl

编译
make

安装
make install

返回上级目录
cd ../
  1. nginx-1.9.9

解压缩Nginx到当前文件夹
tar -zxvf nginx-1.9.9.tar.gz

进入Nginx的解压目录
cd nginx-1.9.9

配置
./configure
–prefix=/usr/local/nginx
–conf-path=/usr/local/nginx/conf/nginx.conf
–pid-path=/usr/local/nginx/logs/nginx.pid
–sbin-path=/usr/local/nginx/sbin/nginx
–lock-path=/usr/local/nginx/logs/nginx.lock
–with-http_ssl_module
–with-pcre=/usr/local/src/pcre-8.37
–with-zlib=/usr/local/src/zlib-1.2.8
–with-openssl=/usr/local/src/openssl-1.0.2e

解释说明一下
–with-pcre 指的是pcre解压缩后的源码路径。
–with-zlib 指的是zlib解压缩后的源码路径。
–with-openssl指的是openssl解压缩后的源码路径。

编译
make

安装
make install

返回上级目录
cd ../

编辑配置文件
vim /usr/local/nginx/conf/nginx.conf

>找到
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

>将前面的#全部去掉
并将
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
>变成
fastcgi_param  SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
nginx要调用fastcgi解析PHP文件,/usr/local/nginx/html是fastcgi要读取PHP文件的具体位置
nginx默认用9000端口调用php-fpm的

如果保存报错则 :wq! 强制保存(前提root管理权限)
启动nginx
/usr/local/nginx/sbin/nginx

这里可以测试一个服务了,如果不可以访问可以试一试 开始防火墙

开放防火墙80端口访问
firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙
firewall-cmd --reload

返回上级目录
cd ../
  1. php-7.3.6

安装php前需要安装libxml2和libxml2-devel
yum install -y libxml2 libxml2-devel

解压缩PHP到当前文件夹
tar -zxvf php-7.3.6.tar.gz

进入解压缩目录
cd php-7.3.6

配置PHP安装,Nginx+PHP整合,在安装时必须启用-–enable-fastcgi和–enable-fpm
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-fastCGI --enable-fpm

编译
make

安装
make install

将安装包里的开发版php.ini复制到配置php安装时指定存放php.ini的位置即–with-config-file-path指向的位置
cp php.ini-development /usr/local/php/php.ini

将/usr/local/php/etc/php-fpm.conf.default同目录下复制一份命名php-fpm.conf
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

使php-fpm.pid保存在指定目录/usr/local/php/var/run/php-fpm.pid(设定开机启动时用到)
找到 ;pid = run/php-fpm.pid 去掉前面的 ;
vim /usr/local/php/etc/php-fpm.conf

启动php-fpm
/usr/local/php/sbin/php-fpm

编辑php.ini
php5默认<?php echo date("Y-m-d H:i:s");?>时间与北京时间相差八小时(少八小时)
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找
;date.timezone =
将;去掉,并修改成
date.timezone = PRC
除了E_NOTICE类型的错误(Notice)不报告,其他的都报告,查找
error_reporting = E_ALL
改成
error_reporting = E_ALL & ~E_NOTICE
使 include 等可以包含域外网页如 include_once “http://www.baidu.com”;
找到
allow_url_include = Off
改成
allow_url_include = On
vim /usr/local/php/php.ini

完成,亲测!!!!!!

如果要设置开机启动可以去查一下相关文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值