安装环境:CentOS6.5
清理已经安装包
rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y remove mysql yum -y remove php #搜索apache包 rpm -qa http* #强制卸载apache包 rpm -e --nodeps 查询出来的文件名 #检查是否卸载干净 rpm -qa|grep http*
准备安装环境
先采用yum包安装一些依赖的东西
|
下载一些软件都放在/usr/local/src下
libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。
安装libiconv
cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar zxvf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install
libmcrypt是加密算法扩展库。
下载并安装libmcrypt
cd /usr/local/src wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz tar -zxvf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure make make install cd libltdl/ ./configure --enable-ltdl-install make make install
Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。 mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存
下载并安装mbash
cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz tar jxvf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure make && make install
mcrypt 是 php 里面重要的加密支持扩展库,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
下载并安装mcrypt
cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8
#注意一下这步运行下,不然下面可能报错 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure make && make install
说明:由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/文件夹下。
因此在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local导入键接库
创建软连接
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
安装mysql(mysql5.6.17)
先检查一下mysql是否已经存在了,如果存在就删除mysql
pm -qa | grep mysql #我的显示如下(如果没有任何显示就表示没有mysql呢) mysql-libs-5.1.73-3.el6_5.i686 #如果存在就卸载mysql rpm -e mysql-libs-5.1.73-3.el6_5.i686 --nodeps #此时再运行 rpm -qa | grep mysql #发现没有任何显示
添加一个mysql用户(nologin用户并且没有家目录)
useradd -M -s /sbin/nologin mysql
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。
cd /usr/local/src wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz tar zxvf cmake-3.5.2.tar.gz cd cmake-3.5.2 ./configure make && make install
使用cmake来编译安装mysql5.6.17
cd /usr/local/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz tar zxvf mysql-5.6.17.tar.gz cd mysql-5.6.17 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DMYSQL_USER=mysql \ -DWITH_DEBUG=0 \ -DWITH_SSL=system make && make install
#复制mysql配置文件 cp support-files/my-default.cnf /etc/my.cnf #创建系统数据库表 cd /usr/local/mysql scripts/mysql_install_db --user=mysql #更改权限 cd /usr/local/mysql chown -R root:mysql . chown -R mysql:mysql data #把mysql添加到系统服务中去 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #赋予权限 chmod 755 /etc/init.d/mysqld 启动MySQL service mysqld start 或者 /etc/init.d/mysql start
#启动mysql启动的时候,一直不动的话按下enter.,就行了 /usr/local/mysql/bin/mysqld_safe --user=mysql & #查看mysql是否启动 netstat -tunpl | grep 3306 #或者pstree,看到有mysqld进程也行 #修改mysql密码 /usr/local/mysql/bin/mysqladmin -u root password "xxxxx" #进入mysql中删除空密码和匿名用户 /usr/local/mysql/bin/mysql -u root -p select host,user,password from mysql.user; delete from mysql.user where password="" or user=""; flush privileges; #也可以在mysql修改用户密码(只是说明一下) set password form 'root'@'localhost' = password('123456'); #关闭mysql的时候可以使用 /usr/local/mysql/bin/mysqladmin -u root -p shutdown #把mysql添加到开机启动 vim /etc/rc.local #在最后再加一行 /usr/local/mysql/bin/mysqld_safe --user=mysql &
或者
#设置开机启动
chkconfig mysqld on
#最后做一个软链接方便使用mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/
安装nginx1.10
nginx所需的依赖关系,一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。如果系统已经yum 安装了这些库也没关系,无需卸载。直接编译安装最新的就可以了。
为了一次性完成编译,先准备编译下面的依赖关系!
1、安装PCRE库
cd /usr/local/src wget http://ftp.exim.llorien.org/pcre/pcre-8.38.tar.gz tar -zxvf pcre-8.38.tar.gz cd pcre-8.38 ./configure make && make install
2、安装Zlib库
cd /usr/local/src wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make && make install
3、安装openssl
cd /usr/local/src wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz tar -zxvf openssl-1.0.1g.tar.gz cd openssl-1.0.1g ./config make && make install
开始安装nginx
cd /usr/local/src wget http://nginx.org/download/nginx-1.10.1.tar.gz tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1.tar.gz ./configure \ --prefix=/usr/local/nginx \ --with-pcre=/usr/local/src/pcre-8.38 \ --with-zlib=/usr/local/src/zlib-1.2.8 \ --with-http_ssl_module \ --with-zlib=/usr/local/src/zlib-1.2.8 \ --with-openssl=/usr/local/src/openssl-1.0.1g \ --with-http_concat_module=shared (注:如果是nginx的话不需要 --with-http_concat_module=shared) make && make install #做软链接方便nginx启动 ln -s /usr/local/nginx/sbin/nginx /usr/bin/ #测试一下nginx配置文件 nginx -t #启动nginx nginx #说一下nginx启动的一些事情 #一般来说在nginx的配置文件修改后进行如下操作,nginx -t检测一下配置文件是否正确,如果正确的话 #再使用nginx -s reload 使nginx平滑启动 #把nginx添加到开机启动 vim /etc/rc.local #在最后新加一行 /usr/local/nginx/sbin/nginx #查看nginx是否启动 netstat -tunpl | grep 80 pstree 看下有没有nginx就行了
安装PHP5.5
1、安装过程:
cd /usr/local/src wget http://mirrors.sohu.com/php/php-5.5.12.tar.gz tar zxvf php-5.5.12.tar.gz cd php-5.5.12 ./configure \ --prefix=/usr/local/php-5.5.12 \ --enable-opcache \ --with-config-file-path=/usr/local/php-5.5.12/etc \ --with-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-pdo-mysql \ --enable-sockets \ --enable-mbstring \ --enable-fpm \ --with-curl \--with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --enable-ftp \ --with-bz2 \ --with-pear \ --with-zlib \ --with-mhash \ --enable-xml \ --with-gd \ --with-mcrypt \ --with-libxml-dir=/usr \ --with-openssl \ --with-iconv=/usr/local/libiconv \ --with-gettext \ --disable-fileinfo make && make install cp php.ini-development /usr/local/php/etc/php.ini #配置php-fpm cd /usr/local/php/etc cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf #复制php-fpm启动脚本到init.d cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #赋予执行权限 chmod +x /etc/init.d/php-fpm #添加为启动项 chkconfig --add php-fpm #设置开机启动 chkconfig php-fpm on #立即启动php-fpm service php-fpm start #或者 /etc/init.d/php-fpm start 另一种方式: #启动php-fpm /usr/local/php/sbin/php-fpm #把php-fpm添加到开机启动 vim /etc/rc.local #最后一行加上 /usr/local/php/sbin/php-fpm
2、使用xcache优化php性能:
cd /usr/local/src wget http://xcache.lighttpd.net/pub/Releases/3.1.0/xcache-3.1.0.tar.gz tar zxvf xcache-3.1.0.tar.gz cd xcache-3.1.0 /usr/local/php/bin/phpize ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config make && make install 复制xcache查看器到网站目录 cp htdocs/ /home/wwwroot/htdocs/xcache -rf cat >>/usr/local/php/etc/php.ini<<EOF [xcache-common] ;注意路径 extension = /usr/local/php/lib/php/extensions/no-debug-zts-20121212/xcache.so [xcache.admin] xcache.admin.enable_auth = on xcache.admin.user = "admin" xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e" ;运行: echo -n "password" |md5sum |awk '{print $1}' 计算出MD5加密过的密码 ;替换xcache.admin.pass=的值 [xcache] xcache.shm_scheme = "mmap" xcache.size = 64M xcache.count = 1 xcache.slots = 8K xcache.ttl = 3600 xcache.gc_interval = 60 xcache.var_size = 16M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 3600 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.readonly_protection = Off xcache.mmap_path = "/dev/zero" xcache.coredump_directory = "/tmp/phpcore" xcache.coredump_type = 0 xcache.disable_on_crash = Off xcache.experimental = Off xcache.cacher = On xcache.stat = On xcache.optimizer = Off [xcache.coverager] xcache.coverager = Off xcache.coverager_autostart = On xcache.coveragedump_directory = "/tmp/pcov" EOF
3、配置nginx支持php
#修改nginx配置文件使之支持php vim /usr/local/nginx/conf/nginx.conf #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} 修改为 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #也顺便把gzip给开启下吧 gzip on前面的#去掉 #修改完配置之后 /etc/init.d/nginx -s reload
nginx、php配置优化暂未详述,接下来再详述。