centos5 源码安装Nginx + mysql + apache + php的方法

主要依照的是张宴的一篇博文《http://blog.s135.com/post/366/》,安装的软件是也是从他提供的列表中下载,这里都是tar.gz格式,如果更希望是rpm格式的话,提供一个网址《http://rpmfind.net/linux/rpm2html/search.php》这里列出了比较完全的下载包。

我安装的系统:Centos5

1、下载;

我安装的下载来自张宴博文下的地址,下载保存的是home下自己目录的一个文件夹下:

复制代码代码如下:

cd /home/xuxx/software

wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.7.51.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.8.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.8-fpm-0.5.10.diff.gz

wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.1.33.zip

wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz

wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-7.8.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.5.3.tar.bz2

wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz

wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz

wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.2.2.tgz

2、准备编译安装环境,需要编译源码用到gc++

建议如果是新安装的系统,使用yum upgrade更新下系统。

复制代码代码如下:

sudo -s

LANG=C

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel

glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

openldap openldap-devel nss_ldap openldap-clients openldap-servers

注意:这里所有的命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符

确保安装成功!才能正确使用编译。

3、安装:

一、安装PHP 5.2.8(FastCGI模式)

1、编译安装PHP 5.2.8所需的支持库:

1] libiconv库

复制代码代码如下:

tar zxvf libiconv-1.13.tar.gz

cd libiconv-1.13/

./configure --prefix=/usr/local

make

make install

make clean

>make distclean

cd ../

make clean 和make distclean都是删除安装过程中生成的缓存文件。当然如果你不介意放着也可以跳过这两步清理操作。

2]libmcrypt库

复制代码代码如下:

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure

make

make install

make clean

make distclean

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

make clean

make distclean

cd http://www.cnblogs.com/

3] mhash库

复制代码代码如下:

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make

make install

cd ../

4]mcrypt库

注意:因为该库和libmcrypt有依赖性,所以在安装前必须知道libmcrypt,否则的话会出现:

错误

复制代码代码如下:

checking for libmcrypt – version >= 2.5.0…

*** ‘libmcrypt-config –version’ returned 2.4.0, but LIBMCRYPT (2.5.8)

*** was found! If libmcrypt-config was correct, then it is best

*** to remove the old version of LIBMCRYPT. You may also be able to fix the error

*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing

*** /etc/ld.so.conf. Make sure you have run ldconfig if that is

*** required on your system.

*** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG

*** to point to the correct copy of libmcrypt-config, and remove the file config.cache

*** before re-running configure

configure: error: *** libmcrypt was not found

是因为path的问题,所以执行:

复制代码代码如下:

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la

ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so

ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8

ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a

ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la

ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so

ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

然后再安装:

复制代码代码如下:

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure

make

make install

cd ../

二、安装mysql

复制代码代码如下:

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql xxx

unzip mysql-5.1.33.zip

cd mysql-5.1.33/

./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables

--with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase

make

make install

make clean

make distclean

chmod +w /usr/local/webserver/mysql

chown -R xxx:mysql /usr/local/webserver/mysql

cp support-files/my-medium.cnf.sh /usr/local/webserver/mysql/my.cnf

cd ../

注意:这里编译./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符

在最后一步拷贝的时候,我安装完在support-files下没有my-medium.cnf而只有my-medium.cnf.sh所以将这个文件拷贝过去。

@张宴原文:

附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。

①、以xxx用户帐号的身份建立数据表:

复制代码代码如下:

/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=xxx

②、启动MySQL(最后的&表示在后台运行)

复制代码代码如下:

/bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/usr/local/webserver/mysql/my.cnf &

3、编译安装PHP(FastCGI模式)

复制代码代码如下:

tar zxvf php-5.2.8.tar.gz

gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p1

cd php-5.2.8/

./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql

--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib

--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem

--enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect

--enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap

--with-ldap-sasl

make ZEND_EXTRA_LIBS='-liconv'

make install

cp php.ini-dist /usr/local/webserver/php/etc/php.ini

cd ../

注意:这里./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符

4、编译安装PHP5扩展模块--可选安装

复制代码代码如下:

tar zxvf memcache-2.2.5.tgz

cd memcache-2.2.5/

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config

make

make install

make clean

make distclean

cd ../

tar jxvf eaccelerator-0.9.5.3.tar.bz2

cd eaccelerator-0.9.5.3/

/usr/local/webserver/php/bin/phpize

./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config

make

make install

make clean

make distclean

cd ../

tar zxvf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2/

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql

make

make install

make clean

make distclean

cd ../

tar zxvf ImageMagick.tar.gz

cd ImageMagick-6.5.1-2/

./configure

make

make install

make clean

make distclean

cd ../

tar zxvf imagick-2.2.2.tgz

cd imagick-2.2.2/

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config

make

make install

make clean

make distclean

cd ../

5、修改php.ini文件

手工修改:查找/usr/local/webserver/php/etc/php.ini中的extension_dir = "./"

修改为extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"

并在此行后增加以下几行,然后保存:

extension = "memcache.so"

extension = "pdo_mysql.so"

extension = "imagick.so"

再查找output_buffering = Off

修改为output_buffering = On

6、配置eAccelerator加速PHP:

mkdir -p /usr/local/webserver/eaccelerator_cache

vi /usr/local/webserver/php/etc/php.ini

按shift+g键跳到配置文件的最末尾,加上以下配置信息:

复制代码代码如下:

[eaccelerator]

zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"

eaccelerator.shm_size="128"

eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="300"

eaccelerator.shm_prune_period="120"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

修改配置文件:

vi /etc/sysctl.conf

kernel.shmmax = 134217728

然后执行以下命令使配置生效:/sbin/sysctl -p

以下的步骤和张宴步骤中一样配置,不再赘诉相关阅读:

java字符串求并集的方法

第一章之初识Bootstrap

HTML5 常用语法一览(列举不支持的属性)

局域网下访问Win7主机提示输入密码怎么办?

win10系统下如何打开internet(ISS)信息服务

js几秒以后倒计时跳转示例

自己动手写一个java版简单云相册

css3的transform中scale缩放详解

Win10 Mobile版《照片》应用更新,升级到15.820.15552.0

JavaScript数据类型详解

JS原型对象的创建方法详解

php的一个简单加密解密代码

node.js中的fs.symlinkSync方法使用说明

详解HTML5中rel属性的prefetch预加载功能使用

mysql安装 张宴_Linux_centos5 源码安装Nginx + mysql + apache + php的方法,主要依照的是张宴的一篇博文 - phpStudy...相关推荐

  1. mysql 5.7.17 源码安装_mysql5.7.17源码安装

    创建用户和目录 groupadd mysql useradd -r -g mysql mysql mkdir -p /data/mysql/standby/data mkdir -p /data/my ...

  2. centos7源码安装mysql报错_CentOS7 下源码安装MySQL数据库 8.0.11

    本文主要向大家介绍了CentOS7 下源码安装MySQL数据库 8.0.11,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. CentOS7 下源码安装MySQL 8.0.11 系 ...

  3. 源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)

    最近在CentOS 7中源码安装MySQL 5.7.16,发现MySQL5.7.6+以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀.不自己安装一把,下面这篇文章是通过自己的安装过程总结的 ...

  4. centos7源码安装mysql8.0_CentOS7下源码安装MySQL 8.x

    会选择使用源码安装MySQL,想必对MySQL及其他的安装方式已经有了一定的了解,这里就不对周边信息进行过多赘述了,直接开始吧. 编译MySQL比较消耗内存,如果机器内存较小,可能会在编译期间出现内存 ...

  5. mysql数据库源码安装_学习笔记-源码安装mariadb 20210128

    源码安装Mariadb数据库 安装之前先检查一下空间: 1 [15:13:16 root@centos8 ~]#free -h(#检查空间)2 total used free shared buff/ ...

  6. linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  7. mysql5.6.28安装_mysql5.6.28源码安装

    众所周知,mysql5.5版本之前都是通过./configure进行编译环境检查,mysql5.5之后用的是cmake(包括5.5) 安装前的准备工作: [root@localhost ~]#wget ...

  8. ubuntu php 源码编译安装mysql_ubuntu php5.6源码安装

    标签: 今天又花了一天时间装了php,感觉php的源码安装也挺麻烦的,整个过程各种报错. 下篇文章准备整合所有查找到的报错和解决方法. php和nginx一样,在安装前需要装一堆的依赖.有libmcr ...

  9. 三星note4安装linux,Leanote Ubuntu 源码安装

    Leanote Ubuntu 源码安装 1 安装golang 2 安装MongoDB 2.1 安装MongoDB 从 Mongodb 官网 获取相应系统的最新版安装链接,笔者以 Ubuntu18.04 ...

最新文章

  1. Fedora 下安装Mplayer(添加源和解决错误问题)
  2. python 网页上显示数据_用Python实现网页数据抓取
  3. Zookeeper分布式一致性原理(六):Zookeeper开源客户端zkClient
  4. 蛋白提取纯化的方法、注意事项及常见问题解答
  5. 【Java多线程】生产者消费者问题
  6. [转]web测试技术经典案例
  7. centos重新安装yum
  8. editplus public class自动补齐大括号问题破解
  9. git 如何忽略掉文件夹_#PY小贴士# 我的git仓库为什么每次提交都有很多改动?
  10. java上传文件的二进制_文件的上传:二进制文件的上传;
  11. 四川大学计算机专业调剂,2019四川大学计算机学院考研调剂信息(第二批)
  12. 什么是Csrss.exe进程?此进程有何作用?
  13. “Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000005C8ECFFA80 处。”
  14. 液晶屏的接口信号RGB_TTL、LVDS、MIPI
  15. 小米系统shell_分享自用小米手机ADB命令删除系统内置应用
  16. 海康sdkC++二次开发之回放下载
  17. 人类一败涂地做图教程_人类一败涂地自定义人物怎么制作 捏人实用技巧教学...
  18. 实现自适应布局Element
  19. rackstation服务器显示器,群晖发布RackStation RS3618xs 2U可扩展存储服务器
  20. 2012年10月2日

热门文章

  1. Apple pay 苹果支付
  2. js制作点击会自动隐藏的导航栏(固定在在头部的)
  3. GraphX 在图数据库 Nebula Graph 的图计算实践
  4. 【PE结构】由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)...
  5. pest分析和swot分析的区别
  6. pandoc下载 - 文档格式转换器
  7. 人员考勤,MySQL数据库一个表自动生成3表筛选人员迟到早退缺勤
  8. 如何将CAD图块转换成外部参照?
  9. 基于STM32G431嵌入式学习笔记——一、LED模块入门
  10. python爬虫:爬去汽车之家