LNMP(nginx php-fpm mysql) 环境部署——php

前言:

之前已经说过部署的初衷,如有不清楚的,可以看下上篇的前言或在评论区留言给我。

此篇主要介绍安装php,php会要用到mysql连接数据库

准备:

php官网:php.net

源码目录:/usr/local/src

php采用源码安装方式

系统为:centos 6.8

php采用5.6版本。最新版本为7版本,如是新项目可采用7版本,对于老项目,如没有重构的准备,建议不要升级到7

安装:

1 安装工具,配置编译的时候提示缺少什么就安装什么的开发包

yum install -y wget make gcc libxml2-devel opensll-devel bzip2-devel libcurl-devel gd-devel

2 下载源码包及签名文件

wget 
wget http://cn2.php.net/distributions/php-5.6.28.tar.gz.asc

3 验证文件签名,在没有密钥前验证会给出钥匙号并提示没有公钥

gpg --verify php-5.6.28.tar.gz.asc

4 下载密钥

gpg --keyserver keys.gnupg.net --recv-key 33CFC8B3

5 再次验证签名

gpg --verify php-5.6.28.tar.gz.asc
gpg: Signature made Wed Nov  9 10:24:59 2016 CST using RSA key ID 33CFC8B3
gpg: Good signature from "Ferenc Kovacs <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6E4F 6AB3 21FD C07F 2C33  2E3A C2BF 0BC4 33CF C8B3

注意:源码包要和签名文件放到同一路径下

看到 Good signature 既表明验证成功,后面的警告是说签名不受信任,这个要通过最后的密钥指纹和签名者验证,http://php.net/downloads.php#gpg-5.6 官方给出了密钥指纹

6 解压

tar zxf php-5.6.28.tar.gz
cd php-5.6.28.tar.gz

7 配置编译参数

./configure --help
./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-mysql --with-mysqli --with-config-file-scan-dir=/etc/php.d --enable-fpm --with-gd --with-iconv --with-zlib --enable-xml --enable-inline-optimization --with-openssl --enable-pcntl --enable-zip --with-curl --with-bz2 --with-jpeg-dir --with-png-dir --enable-mbstring

8 编译

make
make install

9 配置php服务

cp php.ini-production /usr/local/php/etc/php.ini
ln -s /usr/local/php/etc/php.ini /etc/php.ini
#拷贝模板文件为php-fpm配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
ln -s /usr/local/php/etc/php-fpm.conf /etc/php.ini
#添加启动服务
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm 
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig php-fpm on

php-fpm 默认通过9000端口提供服务,需要添加iptables规则,允许web cgi请求php。

web集群/反向代理ip段 172.16.10.0/24

iptables -I INPUT -s 172.16.10.0/24 -p tcp --dport 9000 -j ACCEPT

10 测试

echo ‘<?php phpinfo();?>‘ info.php
/usr/local/php/bin/php -f info.php

11 启动php-fpm服务

service php-fpm start
时间: 2024-10-05 09:04:22

LNMP(nginx php-fpm mysql) 环境部署——php的相关文章

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

之前在Ubuntu12.04上搭建过PHP开发环境,按照这里http://budongzhenren.blog.51cto.com/2288320/991365安装的.但是系统换成14.04后,再用这个方法安装一直不成功,让我很郁闷,折腾了好久,后来才发现在12.04上安装Nginx,默认的网站根目录在 /usr/share/nginx/www,而在14.04上,默认的网站根目录是 /usr/share/nginx/html. 在Ubuntu14.04上搭建PHP环境的步骤参考这里:http:/

记录一次自己对nginx+fastcgi(fpm)+mysql压力测试结果

nginx + fastcgi(fpm) 压力测试: CentOS release 5.9 16核12G内存 静态页面: 并发1000,压测200秒,测试结果: 系统最大负载5.47 成功响应: 2563065, 502:0, 失败:0 PHP页面(对mysql进行一次带索引的查询,数据库记录500条): 并发1000,压测200秒,测试结果: 系统最大负载15.66 成功响应: 114368, 502:712, 失败:58715 并发200,压测200秒,测试结果: 系统最大负载25.81 成

lnmp (nginx php-fpm mysql) 环境部署——nginx

前言: 随着业务的发展,原有的单服务器架构已无法支撑现有业务的访问量,经研究决定,对现有服务做拆分,并对应用做横向扩展.目的是为了减轻服务集中造成的压力. 架构: 前端使用nginx作为web服务,后端使用php-fpm作为应用服务,数据库为mysql 应用服务可使用多台服务器做集群 准备工作: 系统为centos 6.8 x64 minimal 1 ip划分 web服务:172.16.10.0/24 应用服务:172.16.20.0/24 数据库服务:172.16.30.0/24 2 更新系统

LNMP(nginx php-fpm mysql) 环境部署——mysql

前言: 上一篇已经说过部署的初衷,如有不清楚的,可以看下上篇的前言或在评论区留言给我. 此篇主要介绍安装mysql的方法,php会要用到mysql连接数据库 准备: mysql官网:mysql.com 源码目录:/usr/local/src mysql官方提供官方库.源码.二进制包三种安装方式.此文会分别介绍官方库.源码包的安装方式,对于二进制包,下载后可直接使用. 此文介绍mysql 5.6 社区版,在下载时不要选择错了 安装: 使用官方库安装: 1 配置mysql.repo vim /etc

ngnix+uwsgi+django+python+mysql环境部署

django 一个python的web框架flask和django uwsgi一个Python的容器 nginx 一个web服务器 可以做web容器的前端 client--->nginx(80)--->uwsgi(开端口5000)--->web页面 virtualenv virtualenvwrapper python开发虚拟环境 安装python3: 下载python3.6 去官网下载 #xz -d 压缩包.xz 准备环境: #yum install zlib* openssl* re

django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

一,准备工作: 代码一定要能本地跑起来! 各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题. 本地setting.py文件修改如下(改为生产模式,把debug关闭,添加host和静态文件地址): 项目目录内随便什么地方新建一个uwsgi.ini配置文件: # dongpouu_uwsgi.ini file [uwsgi] # Django-related settings socket = :8000 #真实服务的端口 # Django项目根目录 (绝

mac系统nginx+php7.2+mysql环境配置错误解决方案

Tip:本文并非是配置的流程指导文件,只是错误解决方案的提示及建议 1.mac自带apache.php环境,需要先关闭,php默认相关环境(包含原来的php-fpm相关文件都清理掉,默认目录:/private/etc/php-fpm.conf)最好删除掉(可自行google下) 2.建议通过brew安装管理nginx,默认网站根目录: /usr/local/var/www brew install nginx 配置nginx解析php(注意这里我设置的是9090端口,因为自己的9000端口冲突了

Mysql 环境部署

1.Window 1.1 下载软件: https://dev.mysql.com/downloads/mysql/ 依次点击上图 红色框中按钮 1.2 安装软件 1.2.1 解压软件 正常解压即可  目录 D:\mysql-8.0.18-winx64 1.2.2  配置 在 D:\mysql-8.0.18-winx64 目录里创建一个my.ini的文件,内容为: [client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置

docker环境部署nginx、tomcat、redis

centos7 部署docker 1.获取阿里docker yum源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce-staging.repo yum makecache yum repolist 2.移除旧版docker yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker