热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP7+Nginx的配置与安装教程详解

本文分步骤,通过文字说明的形式给大家介绍PHP7+Nginx的配置与安装的相关知识,感兴趣的朋友参考下吧
下面小编把PHP7+Nginx的配置与安装教程分享给大家,供大家参考,本文写的不好还请见谅。

代码如下:


yum install pcre pcre-devel openssl openssl-devel -y

代码如下:


tar xf nginx-1.10.0.tar.gz
cd nginx-1.10.0

代码如下:


./configure --user=www \
--group=www \
--prefix=/data/server/nginx \
--with-http_stub_status_module \
--without-http-cache \
--with-http_ssl_module \
--with-http_gzip_static_module

代码如下:


make && make install

代码如下:


tar xf php-7.0.6.tar.bz2
cd php-7.0.6

代码如下:


jpegsrc.v6b.tar.gz
libpng-1.2.50.tar.gz
freetype-2.1.10.tar.gz

# 安装 jpegsrc.v6b.tar.gz
#这个需要先创建好存放程序的文件夹不然会报错
mkdir /usr/local/jpeg.6/{bin,lib,include,man/man1} -pv
tar xf jpegsrc.v6b.tar.gz 
cd jpeg-6b/
./configure --prefix=/usr/local/jpeg.6/
make && make install
# 安装 libpng-1.2.50.tar.gz
tar xf libpng-1.2.50.tar.gz
cd libpng-1.2.50
./configure --prefix=/usr/local/libpng.1.2.50
make && make install
# 安装 freetype-2.1.10.tar.gz
tar xf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype.2.1.10/
make && make install

代码如下:


make && make install

代码如下:


cp php.ini-production /u01/data/server/php/etc/php.ini

配置php.ini

# 在840行左右-设置PHP的opcache和memcache扩展库
zend_extension=opcache.so
extension=memcache.so
# 722行左右-设置PHP的扩展库路径
extension_dir = "/u01/data/server/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 避免PHP信息暴露在http头中
expose_php = Off
# 避免暴露php调用mysql的错误信息
display_errors = Off
# 开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On
# 设置PHP的时区
date.timezOne= PRC
# 开启opcache(1733行左右)
opcache.enable=1
# 设置PHP脚本允许访问的目录
# open_basedir = /usr/share/nginx/html;

6、配置php-fpm

php-fpm.conf 进程服务主配置文件

# 设置错误日志的路径
error_log = /var/log/php-fpm/error.log
# 引入www.conf文件中的配置
include=/usr/local/php7/etc/php-fpm.d/*.conf
# 设置主进程打开的最大文件数
rlimit_files = 102400
www.conf 进程服务扩展配置文件
# 设置用户和用户组
user = www
group = www
# 设置php监听方式
# listen = 127.0.0.1:9000 
# 注意这里要设置PHP套接字文件的权限,默认是root,Nginx无法访问。
listen = /var/run/php-fpm/php-fpm.sock
# 开启慢日志
slowlog = /var/log/php-fpm/php-slow.log
request_slowlog_timeout = 10s
# 设置工作进程数(根据实际情况设置)
pm.max_children = 50
# 这里需要注意,pm.start_servers 不能小于 pm.min_spare_servers
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 10240
# 设置php的session目录(所属用户和用户组都是www)
php_value[session.save_handler] = files
php_value[session.save_path] = /var/tmp/php/session

7、提供php-fpm启动脚本

#! /bin/sh
#
prefix=/u01/data/server/php7
exec_prefix=${prefix}
php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_COnF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "Starting php-fpm "
$php_fpm_BIN --daemonize $php_opts
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi
wait_for_pid created $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "Gracefully shutting down php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -QUIT `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
;;
status)
if [ ! -r $php_fpm_PID ] ; then
echo "php-fpm is stopped"
exit 0
fi
PID=`cat $php_fpm_PID`
if ps -p $PID | grep -q $PID; then
echo "php-fpm (pid $PID) is running..."
else
echo "php-fpm dead but pid file exists"
fi
;;
force-quit)
echo -n "Terminating php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -TERM `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
echo -n "Reload service php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -USR2 `cat $php_fpm_PID`
echo " done"
;;
*)
echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
exit 1
;;
esac

八、启动php-fpm程序

/etc/init.d/php-fpm start
# 修改套接字文件权限
chown -R /var/run/php-fpm/

推荐阅读
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
author-avatar
大佬9997_608
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有