Nginx+Php-fpm+MySQL+Redis源码编译安装指南
说明:本教程由三部分组成如下:
1. 源码编译安装Nginx
2. 源码编译安装php以及mysql、redis扩展模块
3. 配置虚拟主机
文中所涉及安装包程序均提供下载链接,欢迎使用
执行环境以及前置条件:Ubuntu 12.04 LTS 已安装g++编译环境
全部源程序路径位于:root@ubuntu:/home/shihai/Desktop/Nginx目录下。例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGpzc2VoYWlnZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
程序安装路径位于:/usr/local目录下
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGpzc2VoYWlnZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
第一部分:安装Nginx
安装Nginx前须要安装依赖库PCRE库、zlib库、SSL库
安装PCRE库——为了rewrite
tar –zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure --prefix=/usr/local/pcre-8.21
make
make install
安装zlib库——为了gzip压缩
tar –zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib-1.2.8
make
make install
安装ssl库——支持ssl加密
tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/usr/local/openssl-1.0.1
make
make install
安装nginx——server软件
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8
./configure --prefix=/usr/local/nginx-1.2.8 \
--with-pcre=../pcre-8.21/ \
--with-zlib=../zlib-1.2.8/
make
make install
设定nginx启动的配置文件
/usr/local/nginx-1.2.8/sbin# ./nginx -c /usr/local/nginx-1.2.8/conf/nginx.conf
/usr/local/nginx-1.2.8/sbin# ./nginx -s reload
查看nginx进程
ps –ef|grep nginx
打开localhost
当你看到上图所看到的内容时。说明Nginxserver已经成功安装
第二部分:安装php以及mysql、redis扩展模块
安装ncurses——安装mysql前置条件:
tar -zxvf ncurses-5.4.tar.gz
cd ncurses-5.4
./configure
make
make install
安装mysql——此处使用是源代码包编译安装
tar -zxvf mysql-5.1.73.tar.gz
cd mysql-5.1.73
./configure --prefix=/usr/local/mysql-5.1.73
make
make install
安装curl库——用于curl请求
tar -zxvf curl-7.39.0.tar.gz
./configure --prefix=/usr/local/curl-7.39.0
make
make install
tar –xjf libxml2-2.6.23.tar.bz
cd libxml2-2.6.23
./configure
make
make install
rpm –ivh libxml2-devel-2.6.23-1.i386.rpm
安装php
tar -zxvf php-5.2.14.tar.gz
gunzip php-5.2.14-fpm-0.5.14.diff.gz
patch -d php-5.2.14 -p1 < php-5.2.14-fpm-0.5.14.diff
cd php-5.2.14
./configure --prefix=/usr/local/php-5.2.14\
--enable-fastcgi \
--enable-fpm \
--enable-sockets \
--enable-mbstring \
--with-mysql=/usr/local/mysql-5.1.73 \
--with-mysqli=/usr/local/mysql-5.1.73/bin/mysql_config\
--with-pdo-mysql=/usr/local/mysql-5.1.73 \
--with-curl=/usr/local/curl-7.39.0 \
--with-openssl=/usr/local/openssl-1.0.1 \
--with-libxml2
make
make install
启动php-fpm使用例如以下命令:
/usr/local/php-5.2.14/sbin# ./php-fpm start
启动php-fpm的时候出现
Startingphp_fpm Dec 29 15:27:32.502790 [ERROR] fpm_unix_conf_wp(), line 124: pleasespecify user and group other than root, pool 'default'
解决的方法:进入文件夹:/usr/local/php-5.2.14/etc仅仅须要改动php-fpm.conf
Unix user of processes
<!-- <value name="user">nobody</value> -->
Unix group of processes
<!-- <value name="group">nobody</value> -->
将<!––>去掉就可以。至于user/group依据实际情况改动(www)。
又一次启动 /usr/local/php-5.2.14/sbin# ./php-fpm restart 成功了
安装redis扩展模块:
unzip phpredis-master.zip
exportPATH=/usr/local/php-5.2.14/bin/:$PATH
cp -r phpredis-master php-5.2.14/ext/
cd php-5.2.14/ext/phpredis-master
phpize
./configure--with-php-config=/usr/local/php-5.2.14/bin/php-config
make
make install
扩展库路径:/usr/local/php-5.2.14/lib/php/extensions/no-debug-non-zts-20060613/
在php扩展库路径下,能够找到编译生成的redis扩展库文件redis.so
打开路径/usr/local/php-5.2.14/lib/php.ini下的php.ini文件。使用命令例如以下:
vim php.ini
文件内容高速查找(按下“N”能够查找下一个匹配位置),使用命令例如以下:
:?extension
找到如图所看到的的指定位置后插入下面内容:
extension = redis.so
php会自己主动到扩展库路径下载入redis.so文件
假设没找到php.ini文件。能够全盘搜索该文件,使用命令例如以下:
find / -name php.ini
搜索结果显示此路径下存在/etc/php5/cli/php.ini文件,于是拷贝至/usr/local/php-5.2.14/lib,使用命令例如以下:
/usr/local/php-5.2.14/lib# cp /etc/php5/cli/php.ini php.ini
此处须要重新启动php-fpm才干生效。使用命令例如以下:
/usr/local/php-5.2.14/sbin# ./php-fpm restart
第三部分:配置nginx虚拟主机
新建虚拟主机配置文件文件夹
/usr/local/nginx-1.2.8# mkdir vhosts
cd vhosts
touch scott.qq.com.conf
vim scottshi.qq.com.conf
输入下面内容配置自己定义虚拟主机:
server {
listen 8001;/*监听port号*/
server_name scott.qq.com;/*域名*/
access_log/usr/local/nginxweb/htdocs/access.log;/*网站訪问日志*/
location / {
root /usr/local/nginxweb/htdocs/;/*页面文件文件夹*/
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;/*server错误页面*/
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; /*Nginx转发请求地址*/
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME/usr/local/nginxweb/htdocs/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
保存退出后,进入nginx的配置文件nginx.conf
/usr/local/nginx-1.2.8/conf# vim nginx.conf
与默认server层级并列且位于http层级之内。加入例如以下内容,使得自己定义虚拟主机生效:
include /usr/local/nginx-1.2.8/vhosts/*;
保存退出后,重新启动nginxserver,又一次加载配置文件,使用命令例如以下:
/usr/local/nginx-1.2.8/sbin# ./nginx –s reload
编写php測试页面:
进入文件夹/usr/local/nginxweb/htdocs/,新建test.php文件,输入test.php页面内容:
<?php
Phpinfo();
?>
保存退出
使用浏览器,訪问下面地址:
scott.qq.com:8001/test.php
此页面会显示配置php时的指令还有各个功能模块。包含fastcgi、mysql、curl、redis等
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGpzc2VoYWlnZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
版权声明:本文博主原创文章,博客,未经同意不得转载。
Nginx+Php-fpm+MySQL+Redis源码编译安装指南的更多相关文章
- 使用 Redis 源码编译发布 Windows 版 Redis For Windows 发行包
Redis 是个高性能的键值数据库,现在日常项目开发过程中,目前个人开发项目基本都会用到 Redis,主要是用来做 缓存 和 分布式锁 的底层支持,个人喜欢用 .NET 技术体系,所以一般部署也是用 ...
- 【MySQL】源码编译安装和配置MySql 5.5.32(单实例)
[需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数 ...
- MySQL5.7.13源码编译安装指南
系统 CenterOs 6.5 1.安装依赖包(cmake make gcc等,其实好多都有了,不需要更新,为了防止世界被破坏,就装下) yum install gcc gcc-c++ -yyum i ...
- MySQL5.7.13源码编译安装指南(转)
系统 CenterOs 6.5 1.安装依赖包(cmake make gcc等,其实好多都有了,不需要更新,为了防止世界被破坏,就装下) yum install gcc gcc-c++ -yyum i ...
- nginx在centos 7中源码编译安装【添加grpc的支持】
安装依赖软件 1.安装编译工具gcc gcc是一个开源编译器集合,用于处理各种各样的语言:C.C++.Java.Ada等,在linux世界中是最通用的编译器,支持大量处理器:x86.AMD64.Pow ...
- [教程]centos卸载、安装mysql(源码编译安装方式)
-----------1 卸载系统自带的msyql包 rpm -qa|grep mysql rpm -e --nodeps mysql-server-5.1.71-1.el6.x86_64 --强制卸 ...
- Redis源码编译安装
介绍 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵 ...
- Linux下搭建redis(源码编译)
[准备环境] Linux centos7 redis下载包 地址:http://www.redis.cn/download.html 前往下载稳定版本 [步骤] 1.下载成功后 把包上传到服务器 ...
- 源码编译mysql 5.5+ 安装过程全记录
前言:从mysql 5.5版本开始,mysql源码安装开始使用cmake了,编译安装跟以前的版本有点不一样了. 一,安装步骤: 1.安装前准备工作 a.下载mysql源代码包,到mysql下载页面选择 ...
随机推荐
- SOHO路由器的静态路由的不同
网络拓扑如下,其中RA与RB皆为TP-LINK家用路由器 最终在TP-LINK官网的官网上找到这么一段话 静态路由是在路由器中手工设置的固定的路由条目.我司路由器静态路由是基于ICMP重定向原理,与其 ...
- 正則表達式 取出img标签 保存于指定路径
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Why 使用TLS记录封装IP层VPN IS A Bad Idea
一个很自然的想法,使用TLS套餐一IP数据报实现第三层VPN.这种想法必须经过深思熟虑的,但不幸的是,.这是一个错误的想法.有文章<Why TCP Over TCP Is A Bad Idea& ...
- Atitit. .net c# web 跟clientwinform 的ui控件结构比較
Atitit. .net c# web 跟clientwinform 的ui控件结构比較 .net 4.5 webform Winform 命名空间 System.Web.UI.WebContro ...
- 第三方框架和ARC
在使用了ARC机制的项目中使用第三方开源框架的方法: 1.在第三方开源框架的每个.m文件都设置成 -fno-objc-arc 具体方法:TARGETS--->Build Phases -- ...
- svn创建并应用补丁
有时,我们不能提交临时局部变化,而我们需要回滚到svn最新的版本号.然,这些变化,我们要保持.提交或发送给其他同事的未来review. 怎么做?非常easy,只需要两个步骤: (1)创建一个补丁文件并 ...
- PL/SQL 游标的使用
游标的使用 ①游标概念 为了处理SQL 语句,ORACLE 必须分配一片叫上下文( context area )的区域来处理所必需的信息, 当中包含要处理的行的数目.一个指向语句被分析以后的表示 ...
- 重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口
原文:重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (2 ...
- lua-TestMore(转)
http://fperrad.github.io/lua-TestMore/ http://www.softpedia.com/get/Programming/Debuggers-Decompiler ...
- mongodb 学习笔记05 --用户管理
csdn的markdown编辑器真有够烂的,这篇文章又给弄丢了 启用认证 mongod 启动默认没有开启权限,你须要指定 –auth 启动.或者在配置文件里设置security.authorizati ...