CentOS 安装nginx+php+mysql

Posted yueguanghaidao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 安装nginx+php+mysql相关的知识,希望对你有一定的参考价值。

系统:CentOS 5.2

 nginx:0.9.5

 php:5.3.5

 mysql:5.1.30

 这时再一个网友博客的基础上,结合我自己实践,得出来的,花了好多时间。

可能有人要问,为什么不采用现在最流行的lamp环境呢,web服务不能用apache么?为什么非要用nginx呢?

这里需要说一下,Nginx 是一个轻量级的高性能 Http WebServer,以事件驱动方式编写,因此相比 Apache 而言,Nginx 更加稳定、性能更好,资源占用较低。相对于apache来说,可以承载的了更大的并发 现在有很多大型门户的web服务器已经放弃了lamp而使用lnmp

所以,本身nginx和php两个一点都不认识的,所以安装起来要比lamp麻烦的多

 

一、安装前准备:

     准备好程序安装所需的开发包,这里就通过yum去装了,也为了省事。

       

 yum -y install ntp vim-enhanced gcc gcc-c++gcc-g77 flex bison autoconf automake bzip2-devel  \\
ncurses-devel openssl-devel libtool*zlib-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel  \\
fontconfig-devel freetype-devel libXpm-develgettext-devel curl curl-devel pam-devel \\
e2fsprogs-devel krb5-devel libidn libidn-devel

 

一、Nginx的安装:

           

       1. pcre-8.00.tar.gz

         

tar zxvf pcre-8.00.tar.gz

         cd pcre-8.00.tar.gz

         ./configure && make && makeinstall

       2. nginx-0.9.5.tar.gz

       

 ./configure --user=www --group=www --prefix=/usr/local/nginx/--with-http_stub_status_module --with-http_ssl_module--with-md5=/usr/lib --with-sha1=/usr/lib--with-openssl=/usr/lib   

          

     #此次手记中,所有的安装目录我都放在/usr/local/  各位可以自己修改

             

             make

             make install

      3.接下来安装GD和相关的lib包

      以下是需要用的源码包,可以从网上下到。

             

              jxvf gd-2.0.35.tar.bz2

              libiconv-1.12.tar.gz
              libmcrypt-2.5.8.tar.bz2

 

 开始安装

            tar jxvf gd-2.0.35.tar.bz2
            cd gd-2.0.35
            ./configure --prefix=/usr/local/gd2

             make

             make install

            

              mhash-0.9.9.tar.gz

              tar -zxvf  mhash-0.9.9.tar.gz

               cd mhash-0.9.9

              ./configure --prefix=/usr && make&& make install

             

               libiconv-1.12.tar.gz

                tar zxvf libiconv-1.12.tar.gz

                cd libiconv-1.12 
                ./configure --prefix=/usr && make&& make install

 

 

               libmcrypt-2.5.8.tar.bz2


                tar jxvf libmcrypt-2.5.8.tar.bz2

                 cd libmcrypt-2.5.8
                ./configure --prefix=/usr && make&& make install

              

          

         vim /etc/ld.so.conf

 

           添加:

                    /usr/lib

                    include ld.so.conf.d/*.conf 

                    /usr/lib

             #如果已有就不用添加。

 

启动nginx:

/usr/local/nginx/sbin/nginx start

 

查看一下80端口是否启来

netstat -antpl

 

 

二、MySQL的安装:

         tar zxvf mysql-5.1.30.tar.gz

         cd mysql-5.1.30

         ./configure \\
"--prefix=/usr/local/mysql" \\
"--localstatedir=/data/mysql/data" \\
"--with-comment=Source" \\
"--with-server-suffix=-Linuxtone.Org" \\
"--with-mysqld-user=mysql" \\
"--without-debug" \\
"--with-big-tables" \\
"--with-charset=utf8" \\
"--with-collation=utf8_chinese_ci" \\
"--with-extra-charsets=all" \\
"--with-pthread" \\
"--enable-static" \\
"--enable-thread-safe-client" \\
"--with-client-ldflags=-all-static" \\
"--with-mysqld-ldflags=-all-static" \\
"--enable-assembler" \\
"--with-plugins=all" \\
"--without-ndb-debug"

              make
              make install        

 

useradd mysql -d /data/mysql -s/sbin/nologin      #创建mysql用户

/usr/local/mysql/bin/mysql_install_db--user=mysql  #安装默认数据库

cd /usr/local/mysql

以下是权限的设定:

chown -R root:mysql . 
mkdir -p /data/mysql/data
chown -R mysql /data/mysql/data

 

cp share/mysql/my-huge.cnf /etc/my.cnf      #复制mysql配置文件 
cp share/mysql/mysql.server/etc/rc.d/init.d/mysqld  #复制mysql启动文件 
chmod 755 /etc/rc.d/init.d/mysqld 
chkconfig --add mysqld                          #添加mysql随系统启动 
/etc/rc.d/init.d/mysqld start                     #启动mysql

/usr/local/mysql/bin/mysql -u root -p    #进入mysql  默认密码为空

 

   没问题后quit退出 下面进行最关键的一部 安装php

 

 

 

三、php的安装:

    php和nginx的整合是通过php-FastCGI 

    FastCGI 是一个可伸缩、高速的在web server和脚本语言间通迅的接口。被许多脚本语言所支持,包括 php

    多数流行的web server都支持 FastCGI。

    正常情况下,nginx和php直接是完全不认识的,我们就是通过php-fastcgi将二者整合。

 

    php5.3.0之前的版本,php-FastCGI 是需要单独安装的。但是在这之后,php-FastCGI 就整合在了php的源码包中,不必再去单独安装。在这里我用的就是php5.3.5的版本,内置了php-fpm ,编译时开启,并且编译后不存在 php-cgi 文件了

   下面开始安装。

 

     php-5.3.5.tar.gz

 

    tar zxvf php-5.3.5.tar.gz

    cd php-5.3.5

    先执行./buildconf --force

    如果报错,可能是你的 autoconf不是 2.13 版本的,PHP5.3.5的bug,需要安装 autoconf为2.13不版本:
    yum -y install autoconf2.13

如果不行:试试yum -y install libtool libtool-libs kernel-devel autoconf213

    安装完成后再设置一下环境变量:export PHP_AUTOCONF="/usr/bin/autoconf-2.13"

    再次运行:./buildconf --force ,出现 Forcing buildconf ,则运行成功。

    接着我们再继续编译

    ./configure '--prefix=/usr/local/php' '--enable-fastcgi' '--enable-fpm' '--enable-discard-path' '--enable-force-cgi-redirect' '--with-config-file-path=/usr/local/php/etc' '--enable-zend-multibyte' '--with-mysql=/usr/local/mysql' '--with-libxml-dir' '--with-xmlrpc' '--with-gd=/usr/local/gd2' '--with-jpeg-dir' '--with-png-dir' '--with-bz2' '--with-freetype-dir' '--with-iconv-dir' '--with-zlib-dir' '--with-curl' '--with-curlwrappers' '--with-openssl' '--with-mcrypt' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--enable-sysvsem' '--enable-inline-optimization' '--enable-soap' '--enable-gd-native-ttf' '--enable-ftp' '--enable-mbstring' '--enable-exif' '--disable-debug' '--disable-ipv6'

 

make ZEND_EXTRA_LIBS='-liconv'

 

lanmp安装一(centos+apache+nginx+mysql+php=lanmp地址下载)

Centos6.5 + Nginx +mysql + php 安装配置文档

CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

centos下安装ngnix+php+mysql服务

centos 7 安装nginx,mysql以及php的过程

CentOS 7.0编译安装Nginx+MySQL+PHP