linux下nginx安装php
把php安装包上传到linux的/usr/local/src
1.解压
cd /usr/local/src tar zxvf php-5.6.9.tar.gz cd php-5.6.9
新增php7.2.0安装手记
下载地址
链接:https://pan.baidu.com/s/1JpDpVEylcup3ZYB32aEoGQ
提取码:1edc
先安装如下依赖
$ yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
解压php-7.2.0.tar.gz 然后进入目录,编译。命令如下:
$ tar -zxvf php-7.2.0.tar.gz $ cd php-7.2.0
$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
【配置PHP】
在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
$ cp php.ini-production /usr/local/php/php.ini
[可选项] 设置让PHP错误信息打印在页面上
$ vim /usr/local/php/php.ini
复制启动脚本:
$ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm $ chmod +x /etc/init.d/php-fpm
修改php-fpm配置文件:
$ cd /usr/local/php/etc $ cp php-fpm.conf.default php-fpm.conf $ vim php-fpm.conf
$ cd php-fpm.d $ cp www.conf.default www.conf $ vim www.conf
【启动PHP】
$ /etc/init.d/php-fpm start #php-fpm启动命令 $ /etc/init.d/php-fpm stop #php-fpm停止命令 $ /etc/init.d/php-fpm restart #php-fpm重启命令 $ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP
参考:https://www.cnblogs.com/rxbook/p/9106513.html
2.编译安装
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \ --enable-mbstring --enable-pdo --with-curl --disable-debug --disable-rpath \ --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets \ --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \ --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \ --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
错误
checking for cc... no
checking for gcc... no 源码编译,提示缺少gcc cc cl.exe 解决方案:
yum install -y gcc glibc
错误1
configure: error: xml2-config not found. Please check your libxml2 installation.
配置:错误:xml2-config不见了。请检查你的libxml2安装。
解决:
yum install libxml2 libxml2-devel -y
错误2
configure: error: Cannot find OpenSSL’s <evp.h>
配置:错误:找不到OpenSSL的< evp.h >
解决:
yum install openssl openssl-devel -y
错误
error: cURL version 7.10.5 or later is required to compile php with cURL support
原因:php7.0.27以上 curl需要单独安装
解决:yum -y install curl-devel
错误3
Configure: error: Please reinstall the BZip2 distribution
配置:错误:请重新安装BZip2分布
解决:
yum install bzip2 bzip2-devel -y
错误4
configure: error: jpeglib.h not found.
配置:错误:jpeglib。没有找到。
解决:
yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
错误5
Configure: error: mcrypt.h not found. Please reinstall libmcrypt.
配置:错误:mcrypt。没有找到。请重新安装libmcrypt。
解决:
安装epel-release源
yum install epel-release -y
yum install libmcrypt-devel –y
最后最重要
make
make install
3.拷贝PHP主配置文件
cp php.ini-production /usr/local/etc/php.ini
2、为php-fpm提供配置文件
cd /usr/local/php cp etc/php-fpm.conf.default etc/php-fpm.conf vim etc/php-fpm.conf
修改 /usr/local/php/etc/php-fpm.d/www.conf 文件
user = www-data
group = www-data
如果www-data用户不存在,那么先添加www-data用户,命令行:
groupadd www-data useradd -g www-data www-data
配置文件修改
pm.max_children = 150 pm.start_servers = 8 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pid = /usr/local/php/var/run/php-fpm.pid
当nginx、php-fpm、Permission denied:https://blog.csdn.net/dfq737211338/article/details/89176104
配置php可执行
方法一:
打开用户根目录下的:
vi ~/.bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH alias php=/usr/local/php/bin/php
修改后保存
然后执行
source ~/.bash_profile
测试一下 php -v
方法二:
设置环境变量 :修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/php/bin
export PATH
然后执行生效命令
source /etc/profile
查看PHP版本信息
php -v
3、启动php-fpm
执行
/usr/local/php/sbin/php-fpm
停止
pkill php-fpm
使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
ps aux | grep php-fpm
3、nginx和php-fpm整合
编辑/usr/local/nginx/nginx.conf
vim /usr/local/nginx/nginx.conf
修改如下:
红框中“#”号去掉
红框中“#”号去掉
添加红框中内容
改成如下
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
重新载入nginx的配置文件:
/usr/loca/nginx/sbin/nginx -s reload
4、测试php文件
在/usr/local/nginx/html下创建index.php文件,输入如下内容
<?php phpinfo(); ?>
5、浏览器访问
访问http://你的服务器ip/index.php,皆可以见到php信息了。
参考:http://www.cnblogs.com/flywind/p/6019631.html (php-fpm)
附:
如果Loaded Configuration File为none,把php.ini复制一份到Configuration File (php.ini) Path的目录下,重启fpm
cp /usr/local/etc/php.ini /usr/local/php/lib
pkill -9 php-fpm
/usr/local/php/sbin/php-fpm
设置时区,php.ini
;date.timezone =
改为
date.timezone = Asia/Shanghai
linux下nginx安装php的更多相关文章
- VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)
首先启动Nginx 1. 相关浏览 两个 Tomcat 配置: VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...
- VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)
准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...
- Linux下Nginx安装/启动/重启/停止
Nginx是高性能的web服务器也是非常好用反向代理服务器,可以实现负载均衡,动静分离等策略,在linux下用的非常多.下面是下载地址 http://nginx.org/en/download.h ...
- linux下nginx安装、配置实战
1什么是Nginx Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...
- linux下Nginx 安装配置
Nginx 安装 一.首先要安装 PCRE PCRE 作用是让 Ngnix 支持 Rewrite 功能. 1.下载 PCRE 安装包,下载地址: http://downloads.sourceforg ...
- Linux下Nginx安装
前提: 1.需要gcc环境:yum install gcc-c++ 2.需要第三方开发包: PCRE.zlib.openssl yum install -y pcre pcre-devel yum i ...
- VMware Linux 下 Nginx 安装配置 (一)
资源准备 1. pcre-8.34.tar.gz: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 2. zlib-1.2.8.tar.g ...
- Linux下nginx安装与配置
部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成. nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++, ...
- linux下Nginx安装Zend Optimizer组件步骤
注意:Zend Optimizer 在php5.3以上的版本已经集成了,所以php5.3以上的版本没必要安装了.而推出了Zend Guard Loader. http://www.zend.com/e ...
随机推荐
- SOYO的主板如何进入BIOS系统
1 开机按Del键进入BIOS系统 2 进入Advanced BIOS Features 3 选择 Hard Disk Boot Priority 按ENTER 4 选择要启动的设备,比如 ...
- 利用 getsockname 和 getpeername 来获取某一个链接的本地地址和远端地址
在两台计算机上建立一个网络连接,需要五个要素:本机地址 本机端口 协议类型 远端端口 远端地址.那么如何从一个建立好的连接上获取这些信息呢.就需要用到 getsockname 和 getpeerna ...
- HTML 5 音频Audio
在HTML5标准网页里面,我们能够运用audio标签来完毕我们对声音的调用及播放. 下面是最常常见到的运用HTML5三种基本格式: 1.最少的代码 <audio src="song.o ...
- Ubuntu16.04安装QQ
说明:一开始,我在Ubuntu 16.04下安装的QQ版本是Wineqq2013SP6-20140102-Longene,但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情 ...
- js 参数校验器
//校验器 var validate = { //校验当前运行环境是否是手机端 isWap:function(){ var sUserAgent= navigator.userAgent.toLowe ...
- 用SwiftGen管理UIImage等的String-based接口
代码地址如下:http://www.demodashi.com/demo/12149.html 问题现状 平时我们使用UIImage,UIFont,UIColor会遇到很多String-based的接 ...
- swift 可变參数
func sumof(numbers:Int...)->Int{ var sum = 0; for number in numbers{ sum+=number; } return ...
- 将NSArray反向排序
NSArray * array = [NSArray arrayWithObjects:", nil]; NSArray * reverseArray = [[array reverseOb ...
- PHP设置会话(Session)超时过期时间实现登录时间限制
最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考. 第一种方法即设置php.ini配置文件,设置session.gc_ ...
- 实际项目中,看 ECharts 和 HighCharts 渲染性能对比,表面看衣装,本质看内功!!!
最近做项目,使用的是echarts显示图表数据,但是数据量比较多的时候,有卡顿的情况.后来同事拿echarts和HighCharts做了对比,仅供大家参考.同时感谢同事做的工作. 一.查询1天的源数据 ...