PHP + Nginx 在 Linux(centos7)系统下的环境搭建
( 选用的操作系统为 centos7 )
01,安装 nginx => 请移步 https://www.cnblogs.com/lovling/p/9197572.html
02,下载 php 安装包 => https://secure.php.net/downloads.php
03,上传到 linux 服务器,并解压 tar -zxvf php.tar.gz
04,cd 到解压后的文件夹
05,配置参数 ./configure --prefix=/usr/local/php -enable-fpm --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
这里的 --prefix=/root/software/php 指定程序安装的位置 mysqlnd mysqli pdo_mysql 三个扩展错过了这次机会,
之后再编译安装的时候会报各种各样的错误,很难解决,建议在这次编译的时候一定要带上
06,以上步骤可能缺少 libxml2, 用 yum 安装时发现已经安装,那是因为缺少 libxml2-devel, 可用 yum 安装
yum install -y libxml2-devel
07,再次执行 5,无报错后执行 make & make install 出现以下画面为安装成功
08,如果出现错误 make:*libtool: link: `ext/libxml/libxml.lo' is not a valid libtool object
09,执行 make clean 后再执行 => make => make install
10,进入到安装后的目录 => cd /usr/local/php
11,修改配置文件,修改启动用户和用户组
cp etc/php-fpm.conf.default etc/php-fpm.conf
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
vim etc/php-fpm.d/www.conf
将 user 和 group 赋予相应的用户和组,和 nginx 的启动用户要一致,生产环境切勿使用 root
12,启动 php-fpm => ./sbin/php-fpm
13,如果配置的是 root 用户和组,需要加 -R参数 => ./sbin/php-fpm -R
14,检查是否启动成功 => netstat -anp | grep tcp
15,将改服务设置为开机自启 => vim /etc/rc.local,请确保 该文件有执行权限,如果没有可赋予 chmod +x /etc/rc.local
16,修改 nginx 配置 vim /root/software/nginx/conf/nginx.con 在 server 中加入如下配置
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;
}
17,检查配置文件并启动 nginx => nginx -t => nginx
18,在 nginx 目录下的 html 目录中编辑一个文件 test.php 写入 <?php phpinfo() ?>
19,地址栏输入 http://server_ip/test.php ,出现如下画面为配置成功
20,接下来就是配置文件,由于文件太多,很难找到 php.ini 文件
21,我们可以用命令查看配置文件的地址 => php -r "phpinfo(INFO_GENERAL);"|grep "php.ini"
22,但是我们在以上路径去却找不到配置文件,一般自己编译的都不会存在配置文件,我们需要到源码包去拷贝
23,找到上图中两个 php.ini 开头的文件,复制到 /usr/local/php/lib/ 目录下
24,php.ini.development 常为测试环境下使用,权限比较高
25,php.ini.production 常为生产环境使用,拥有较高的安全性
26,确定好自己要用哪一个,复制一份命名为 php.ini
27,建议将配置文件中的 pid 项目打开如下,这样就可以平滑的重启和关闭 php-fpm 了
28,以下命令中的 /usr/local/php/var/run/php-fpm.pid 为 pid存放的地址,根据具体情况查找
# 立即终止
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
kill -TERM `cat /usr/local/php/var/run/php-fpm.pid`
# 平滑终止
kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
# 重新打开日志文件
kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`
# 平滑重载所有worker进程并重新载入配置和二进制模块
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
PHP + Nginx 在 Linux(centos7)系统下的环境搭建的更多相关文章
- centos7系统下 docker 环境搭建
运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...
- node在Fedora 22系统下开发环境搭建
事实上,环境搭建在linux系统还是比較简单的,下载已经编译好的包,配置一下环境变量. 或者下载源代码,自己编译. 这里记录一下,主要是node版本号变化节奏很块的情况下.怎样配置一次环境变量就不要再 ...
- php手动搭建wamp环境(一)--之 Windows系统下PHP环境搭建
1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...
- windows系统下jenkins环境搭建与基本使用
一. windows 系统下搭建jenkins环境 1.1 jenkins环境搭建和构建job流程图 1.2 安装jdk JDK下载地址: http://www.oracle.com/technet ...
- PHP环境搭建-Windows系统下PHP环境搭建
1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...
- nginx 服务器 在 centos7 系统下的两种方式
选用系统 Centos7 < 一 > 使用 yum 安装,该方法比较方便,如果不追求版本推荐使用 01, 添加 nginx 储存库 yum -y install epel-releas ...
- Linux centos7系统下svn的安装与配置
一.安装svn # yum -y install svn 二.查看svn版本信息 # svnserve --version 三.搭建svn版本库(假设项目名称为project) 1.首先创建版本库目录 ...
- PHP + Apache 在 Linux(centos7)系统下的环境搭建,基于 yum
(本文采用的是 Centos7 的操作系统,简单起见,以下全部采用 yum 安装,有这么好用的东西为什么要自己去一个一个编译呢) 1, 安装 Apache => yum -y install ...
- Ubuntu系统下lnmp环境搭建和Nginx多站点配置
最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...
随机推荐
- <亲测>.NET Core项目在Linux上使用QRCoder时出错"Unable to load DLL 'gdiplus'"
Centos 7 解决方案如下: yum install libgdiplus-devel
- Flask--路由备忘
路由: 路由传参route("/index/<userid>") def index(userid),参数数据类型的指定route("user/<int ...
- Windows XP Professional产品序列号
BX6HT-MDJKW-H2J4X-BX67W-TVVFG产品密钥:FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8产品密钥:CCC64-69Q48-Y3KWW-8V9GV-TVKRM Wi ...
- JVM异常之:方法区溢出OutOfMemoryError: PermGen space
1.方法区溢出(Perm持久代溢出) 在jdk1.6及之前的版本中,常量池放在Perm区也即是方法区中,所以在jdk1.6版本中,常量池溢出可以说是方法区溢出. 示例一: 方法区溢出的示例见<J ...
- etcd安装和所遇到的坑
首先参照 https://www.cnblogs.com/lyzw/p/6016789.html来安装 虚拟机:VMware® Workstation 12 Pro 系统:CentOS Linux r ...
- Oracle EXP-00091解决方法
非交互式 windows: D:\>exp scott/tiger file=employee.dmp tables=(emp,dept) linux需要加双引号 EXP-00091: [ora ...
- mysql 5.7主从库复制设置
先要修改配置文件,重启mysql服务 log-bin= mysql-binlog # 打开二进制日志 ,最好放在不同的硬盘上,减小 IO 消耗 expire_logs_day= # 设置二进制日志保存 ...
- CNN卷积层基础:特征提取+卷积核+反向传播
本篇介绍卷积层的线性部分 一.与全连接层相比卷积层有什么优势? 卷积层可以节省参数,因为卷积运算利用了图像的局部相关性——分析出一小片区域的特点,加上Pooling层(汇集.汇聚),从附近的卷积结果中 ...
- Json1:使用gson解析、生成json
Json解析: 1.json第三方解析包:json-lib.gson.jackson.fastjson等2.Google-gson只兼容jdk1.5版本以上:JSON-lib分别支持1.4和1.53. ...
- 小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search
本篇是基于 NAS 的图像超分辨率的文章,知名学术性自媒体 Paperweekly 在该文公布后迅速跟进,发表分析称「属于目前很火的 AutoML / Neural Architecture Sear ...