linux系统CentOS 7.6
阿里云服务器 CentOS7.6的系统 只安装Nginx-1.9.9+PHP5.6 环境,数据库也是使用阿里云Mysql数据库
下载地址 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
下载地址 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
下载地址 http://www.openssl.org/source/
wget下载路径 http://www.openssl.org/source/openssl-1.0.2e.tar.gz
这里用到的是
openssl-1.0.2e.tar.gz
下载地址 http://nginx.org/en/download.html
wget下载路径 http://nginx.org/download/nginx-1.9.9.tar.gz
这里用到的是
nginx-1.9.9.tar.gz
下载地址 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
解压缩pcre到当前文件夹
tar -zxvf pcre-8.43.tar.gz
进入解压缩目录
cd pcre-8.43
配置安装目录
./configure --prefix=/usr/local/pcre
编译
make
安装
make install
返回上级目录
cd ../
解压缩zlib到当前文件夹
tar -zxvf zlib-1.2.11.tar.gz
进入解压缩目录
cd zlib-1.2.11
配置安装目录
./configure --prefix=/usr/local/zlib
编译
make
安装
make install
返回上级目录
cd ../
解压缩openssl到当前文件夹
tar -zxvf openssl-1.0.2e.tar.gz
进入解压缩目录
cd openssl-1.0.2e
配置安装目录
./config --prefix=/usr/local/openssl
编译
make
安装
make install
返回上级目录
cd ../
解压缩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 ../
安装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默认时间与北京时间相差八小时(少八小时)
为什么呢?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
如果要设置开机启动可以去查一下相关文件