文档章节

​基本环境安装手册mysql5.6+php5.5+nginx1.6+redis2.8

老鬼DW
 老鬼DW
发布于 2014/11/18 15:17
字数 2527
阅读 26
收藏 1
点赞 0
评论 0

安装步骤:

(系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为CentOS 6.5 64位)

编译安装PHP 5.5所需的支持库:

       安装libiconv

tar zxvf libiconv-1.13.1.tar.gz

cd libiconv-1.13.1

./configure --prefix=/usr/local/webserver/libiconv

make

make install

cd ../

安装libmcrypt

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure 

make

make install

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

cd ../../

安装mhash

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make

make install

cd ../

 

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.7 /usr/lib/libmcrypt.so.4.4.7

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

 

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure     

make

make install

cd ../

编译安装MySQL 5.6

安装 cmake

tar zxvf cmake-2.8.5.tar.gz

cd cmake-2.8.5

./bootstrap

gmake

gmake install

cd ../

mysql 安装依赖

yum install ncurses-devel

                   安装OpenSSL

                   yum install openssl-devel

 

编译安装mysql

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

tar xvf mysql-5.6.20.tar.gz

cd mysql-5.6.20

cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/webserver/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_SSL=system \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1

cmake 出错后,如果重新cmake编译须rm CMakeCache.txt文件

make

make install

chmod +w /usr/local/webserver/mysql

(添加mysql 服务访问权限后,mysql可以正常启动)

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

ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

配置启动MySQL 5.6

                   Cd   /usr/local/webserver/mysql/scripts/

mysql 初始化安装
./mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/data/mysql/data/ --user=mysql
mysql 加入开机启动

cd /usr/local/webserver/mysql /support-files/

       cp my-default.cnf /etc/my.cnf                                 

       cp mysql.server /etc/init.d/mysqld

 

chmod +x /etc/init.d/mysqld

vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容)

       chkconfig --add mysqld

       chkconfig --level 345 mysqld on

启动 mysql

service mysqld start

cd ../..

编译安装PHP5.5所需一些组件

安装zlib

tar -zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure --prefix=/usr/local/webserver/zlib

make

make install

cd ..

安装libpng

tar –jxvf libpng-1.4.3.tar.bz2

cd libpng-1.4.3

cd scripts/

cp makefile.linux ../makefile    //注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个

cd ..

vi ./makefile

找到

prefix=

exec_prefix=$(prefix)

prefix=改为:prefix=/usr/local/webserver/libpng

保存退出

make

make install

cd ..

安装freetype

tar -jxvf freetype-2.4.8.tar.bz2
cd freetype-2.4.8

./configure --prefix=/usr/local/webserver/freetype

(这一步如果出现”make: Nothing to be done for ‘UNIX’”,则使用rpm –ql freetype查看系统中是否已有freetype,如果有,则跳过freetype的安装)

make

make install

cd ..

安装Jpeg

tar -zxvf jpegsrc.v7.tar.gz

cd jpeg-7

./configure --prefix=/usr/local/webserver/jpeg --enable-shared  //这里configure一定要带--enable-shared参数,不然,不会生成共享库

make

make test

make install

cd ..

安装gettext

tar -zxf gettext-0.18.1.1.tar.gz

cd gettext-0.18.1.1

./configure --prefix=/usr/local/webserver/gettext

make

make install

安装GD

tar -zxvf libgd-2.1.0.tar.gz

cd libgd-2.1.0

./configure --prefix=/usr/local/webserver/libgd --with-png --with-freetype=/usr/local/webserver/freetype --with-jpeg=/usr/local/webserver/jpeg --with-gettext=/usr/local/webserver/gettext

(如果使用系统自带而非手动安装的freetype,则—with-freetype后面的路径不需要填写)

make

make install

cd ..

 编译PHP之前需要安装依赖curldev包没有安装, 根据对应error查看信息

1.安装libxml

                   (

                            安装libxml2 依赖与python

                            使用命令安装yum install python-devel

                   )

tar -zxvf  libxml2-2.9.1.gz

cd libxml2-2.9.1

./configure --prefix=/usr/local/webserver/libxml2

make

make install

cd ..

                   2.安装一下支持PHP模块库

                   yum -y install curl-devel

            error

                  

                  yum install openldap-devel

                   error

                  
             
cp -frp /usr/lib64/libldap* /usr/lib/

                   error

                  

编译安装PHPFastCGI模式)

tar zxvf php-5.5.tar.gz

cd php-5.5.15/

./configure  --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-openssl --with-curl --with-mysql=/usr/local/webserver/mysql   --enable-opcache=no --with-pdo-mysql=/usr/local/webserver/mysql --enable-mbstring=all --with-freetype-dir=/usr/local/webserver/freetype --with-jpeg-dir=/usr/local/webserver/jpeg --with-png-dir=/usr/local/webserver/libpng --with-zlib-dir=/usr/local/webserver/zlib --enable-mbstring --enable-sockets --with-iconv-dir=/usr/local/webserver/iconv  --with-libxml-dir=/usr/local/webserver/libxml2 --enable-soap --with-mcrypt=/usr/local/include --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt  --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config  

Make

 (如出现”error while loading shared libraries:libpng14.so.14:cannot open shared object file:No such file or directory则执行如下步骤:

vi /etc/ld.so.conf

在最后加入一行:/data0/software/libpng-1.4.4

保存退出后执行ldconfig)

make install

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

cd ../

 

安装 php   gd 扩展

cd /data/soft/php-5.5.15/ext/gd

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

./configure --with-gd --with-jpeg-dir=/usr/local/webserver/jpeg  --with-freetype-dir=/usr/local/webserver/freetype --enable-gd-native-ttf --with-php-config=/usr/local/webserver/php/bin/php-config --with-png-dir=/usr/local/webserver/libpng --with-zlib-dir=/usr/local/webserver/zlib

make

make install

 

修改php.ini文件(若没有php.ini文件从php的源码包中复制一个)

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

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

修改为

extension_dir=" /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20121212”

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

extension = gd.so

 

查找output_buffering

结合实际情况将其设置为On或者Off

 

添加php-fpm 配置文件

cp /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf

启动php

/usr/local/webserver/php/sbin/php-fpm

php加入开机自启

vi /etc/rc.d/rc.local

加入一行:/usr/local/webserver/php/sbin/php-fpm

重启php

或者先杀死php进程

killall php-fpm

然后启动php进程

/usr/local/webserver/php/sbin/php-fpm

       验证PHP是否成功

安装Nginx-1.6

安装Nginx所需的pcre库:

tar zxvf pcre-8.20.tar.gz

cd pcre-8.20/

./configure

make && make install

cd ../

安装Nginx

tar zxvf nginx-1.6.1.tar.gz

cd nginx-1.6.1 /

./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

make && make install

cd ../

创建Nginx日志目录

mkdir -p /data/mginx//logs

chmod +w /data/nginx/logs

chown -R www:www /data/nginx/logs

创建Nginx配置文件

、在/usr/local/webserver/nginx/conf/目录中创建nginx.conf文件:

rm -f /usr/local/webserver/nginx/conf/nginx.conf

vi /usr/local/webserver/nginx/conf/nginx.conf

输入以下内容:

 

 

#user  nobody;

worker_processes  8;

 

error_log  /data/error_log/nginx_error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

 

pid        logs/nginx.pid;

 

 

events {

     use epoll; 

    worker_connections  1024;

}

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

 

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

 

    #access_log  logs/access.log  main;

 

    sendfile        on;

    #tcp_nopush     on;

    autoindex on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

 

    #gzip  on;

 

    server {

        listen       80;

        server_name  localhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   /data/www/code/linksusyii;

            index index.php index.html index.htm;

                          if (!-e $request_filename){

                   rewrite ^/(.*) /index.php last;

                }

        }

 

        #error_page  404              /404.html;

 

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

 

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        location ~ \.php$ {

            root   /data/www/code/linksusyii;

                   fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /data/www/code/linksusyii$fastcgi_script_name;

            include        fastcgi_params;

        }

 

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        location ~ /\.ht {

            deny  all;

        }

    }

 

}

启动Nginx

/usr/local/webserver/nginx/sbin/nginx

重启Nginx

/usr/local/webserver/nginx/sbin/nginx –s reload

Nginx加入开机自启

vi /etc/rc.d/rc.local

加入一行:/usr/local/webserver/nginx/sbin/nginx

       安装Redis服务器

tar zxf redis-2.8.13.tar.gz

cd redis-2.8.13

make PREFIX=/usr/local/webserver/redis install

vi /etc/sysctl.conf

加入一行:vm.overcommit_memory=1

sysctl vm.overcommit_memory=1

设置配置文件redis.conf

mkdir /usr/local/webserver/redis/etc

cp /data/ redis-2.8.13/redis.conf /usr/local/webserver/redis/etc/redis.conf

vi /usr/local/webserver/redis/etc/redis.conf

下列为redis.conf主要配置参数的意义,根据需要自行配置

daemonize <yes|no>:是否以后台daemon方式运行,默认为no

pidfile <*.pid>pid文件的位置,daemonizeyes时才起作用,默认为/var/run/redis.pid

bind <IP>:绑定主机IP,默认值为127.0.0.1

port <port>:监听端口号,默认为6379

timeout <seconds>:请求超时时间,默认为0(用不超时)

loglevel <debug|verbose|notice|warning>:日志信息级别,默认为verbose

logfile <filename>:日志记录方式,默认为stdout

database  <number>:开启数据库数量,默认为16,默认数据库为0

save <seconds> <changes>:指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。这个可以多个条件配合,比如默认配置文件中的设置,就设置了三个条件。

save 900 1 900秒(15分钟)内至少有1key被改变

save 300 10 300秒(5分钟)内至少有300key被改变

save 60 10000 60秒内至少有10000key被改变

rdbcompression <yes|no>:存储至本地数据库时是否压缩数据,默认为yes

dbfilename <filename>:本地数据库文件名,默认值为dump.rdb

dir <path>:本地数据库存放路径,默认值为 /data/redis/data

slaveof <masterip> <masterport>:当本机为从服务时,设置主服务的IP及端口

masterauth <master-password>:当本机为从服务时,设置主服务的连接密码

requirepass <password>:连接密码

maxclients <number>:最大客户端连接数,默认不限制

maxmemory <bytes>:设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。

appendonly <yes|no>:是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no

appendfilename <filename>:更新日志文件名,默认值为appendonly.aof

appendfsync <no|always|everysec>:更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。

vm-enabled <yes|no>:是否使用虚拟内存,默认值为no

vm-swap-file <path>:虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享

vm-max-memory :将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据就是keys),也就是说,vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0

启动redis

/usr/local/webserver/redis/bin/redis-server /usr/local/webserver/redis/etc/redis.conf

redis加入开机自启

vi /etc/rc.d/rc.local

加入一行:/usr/local/webserver/redis/bin/redis-server /usr/local/webserver/redis/etc/redis.conf

安装phpredis扩展

unzip phpredis-master.zip

cd phpredis-master

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

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

make && make install

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

(extension=gd.so的下一行加入extension=redis.so)

安装php Opcache扩展

wget http://pecl.php.net/get/zendopcache-7.0.2.tgz

cd zendopcache-7.0.2

或者

cd /data/soft/php-5.5.15/ext/opcache

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

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

Make

Make install

opcache.enable_cli=1

opcache.memory_consumption=64
       opcache.interned_strings_buffer=8
       opcache.max_accelerated_files=4000

opcache.revalidate_freq=60
       opcache.force_restart_timeout=180
       opcache.fast_shutdown=1
       (
php.ini 文件中加入zend_extension=opcache.so)

重启php

       Killall php-fpm

/usr/local/webserver/php/sbin/php-fpm


© 著作权归作者所有

共有 人打赏支持
老鬼DW
粉丝 0
博文 2
码字总数 12370
作品 0
海淀
更新日期2016年5月16日-Citrix XenDesktop/XenApp 7.x PoC Runbook

Citrix XenDesktop、XenApp 7.x PoC Runbook文档内容简介: PoC手册 - _简介及环境准备 PoC手册 - Lab 01 虚拟主机基础环境安装1.0 PoC手册 - Lab 02 微软基础构架环境安装1.0 PoC手册 - La...

sesame.qian ⋅ 2014/12/02 ⋅ 0

​​​​​​​2016最新CocoaPods安装与使用

2016最新CocoaPods安装与使用 2016最新CocoaPods安装与使用,问题解决 1.mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v 查看当前r...

法斗斗 ⋅ 2016/11/07 ⋅ 0

【转帖】测试环境的搭建和维护

只要做过一次测试,就一定知道测试环境,但测试环境是如何搭建和维护的呢?就不一定所有人都明白了。 测试环境的搭建,每个公司都有不一样的流程和方法。一种是运维或者开发负责搭建和维护,...

12332111ss ⋅ 2016/04/28 ⋅ 0

Phalcon环境搭建与项目开发

简介 Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来,可以直接使用。 Phal...

Minho ⋅ 2016/09/06 ⋅ 0

基于Nodejs​ 的前端工具集--FEinit

FEinit 是基于Nodejs 的前端工具集,因为是在windows系统开发,所以目前仅适合 windows 系统。 主要功能: 提供前端项目中常用的工具集 相对于grunt的task文件形式,FEinit的task是在命令行执...

叶秀兰 ⋅ 2014/07/29 ⋅ 0

​Linux下的Memcache安装

Linux下的Memcache安装 发布时间:December 6, 2007 分类:Linux,Memcache 《IBM T61 A29入手》 《Windows下的Memcache安装》 最近在研究怎么让Discuz!去应用Memcache去做一些事情,记录下M...

河北李晓东 ⋅ 2017/07/13 ⋅ 0

任务管理系统--teamsalt

teamsalt 什么是teamsalt? teamsalt是一个在线的团队写作任务管理系统。 teamsalt是team+salt(盐),寓意就是作为盐一样,成为团队中不可缺少的系统。 系统设计参考了teambition、tower、wor...

北鸟来了 ⋅ 2014/08/11 ⋅ 3

[初学嵌入式]完全没有接触过linux也可以轻松玩转4412开发板

需要按照以下方法和步骤来学习,轻松玩转开发板。 以下学习内容均有配套视频。 1.开发板上电测试以及提供的基本资料介绍:所 学手册的章节包括(第一章节) 2.安装超级终端,理解uboot模式和...

topeet ⋅ 2015/08/03 ⋅ 0

VMware操作实验室(Hands-on Labs)

网上有很多介绍搭建VMware企业虚拟计算软件学习环境的文章,例如, 在一台物理主机上安装ESXi企业虚拟计算软件,然后创建3台虚拟机。接着在每台虚拟机中安装ESXi企业器虚拟计算软件,并通过v...

pinxie2014 ⋅ 2014/05/30 ⋅ 0

S​e​r​v​i​c​e​N​o​w​概​述

1概况 SerivceNow是一家领先的基于云服务,实现企业IT运维的自动化提供商。 专注于将企业IT自动化和标准业务流程,改变IT企业与客户之前的关系,加强全球企业的IT内部管理。企业部署我们的服...

YOTOO ⋅ 2014/04/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

分布式数据库中间件DDM的实现原理

随着数据量不断增大,传统的架构模式难以解决业务量不断增长所带来的问题,特别是在业务成线性、甚至指数级上升的情况。此时我们不得不通过水平扩展,把数据库放到不同服务器上来解决问题,也...

中间件小哥 ⋅ 13分钟前 ⋅ 0

字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8

原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享。 1、引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。 这个问题比我想象的复杂,午饭...

JackJiang- ⋅ 20分钟前 ⋅ 0

Spring Cloud构建微服务架构:服务消费(基础)

使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介...

itcloud ⋅ 20分钟前 ⋅ 0

MaxCompute产品最新进展 -- 从马力到计算力

摘要:本文从马力作为功率衡量标准为切入点,介绍了大数据领域的计算力衡量标准TPCBB以及MaxCompute2.0在Big Bench上的卓越表现。同时详细地分享了取得优异成绩背后的产品在最新有哪些进展,...

猫耳m ⋅ 21分钟前 ⋅ 0

Linux系统

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Linux系统: Unix:是C语言转做出来的,最早的网...

凯哥学堂 ⋅ 21分钟前 ⋅ 0

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

13.1 设置更改root密码 启动MySQL数据库 [root@linux-10 ~]# /etc/init.d/mysqld startStarting MySQL SUCCESS! 由于MySQL的相关命令的所在路径不在系统的环境变量中,因此需要将路径添...

影夜Linux ⋅ 24分钟前 ⋅ 0

jeesite shiro+redis实现cache和session共享

jeesite这个开源框架本身集成的有shiro+redis来实现cache和session共享,但是需要修改一下文件配置即可 首先找到spring-context-shiro.xml文件 找到bean id为sessionDAO,将其修改为如下 <!...

wangxujun59 ⋅ 24分钟前 ⋅ 0

基本JNI搭建

1、编写Java代码 首先我们需要编写自己的java代码 public class Hello { static{ System.loadLibrary("hello-jni"); } public native String sayHello();} 2、把...

国仔饼 ⋅ 26分钟前 ⋅ 0

MaxCompute产品最新进展 -- 从马力到计算力

摘要:本文从马力作为功率衡量标准为切入点,介绍了大数据领域的计算力衡量标准TPCBB以及MaxCompute2.0在Big Bench上的卓越表现。同时详细地分享了取得优异成绩背后的产品在最新有哪些进展,...

阿里云云栖社区 ⋅ 30分钟前 ⋅ 0

AppDelegate 设置Root相关

self.window = UIWindow.init(frame: UIScreen.main.bounds) self.window?.backgroundColor = UIColor.white self.window?.makeKeyAndVisible() self.window?.rootViewController = RootTabB......

west_zll ⋅ 38分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部