Centos7.2LAMP+Redis环境搭建

版本信息为:
centos7.2 + apache2.4.23 + mysql5.7.14 + php7.0.9 + Redis3.2.3
差不多是目前最新版的环境搭建了,之所以使用新版很大程度上是因为它们在性能上比以前的版本有很大的提升,这正是博主所需要的。
以下为root用户的安装配置过程

【一】安装前准备工作
1、关闭firewall:
systemctl stop firewalld.service

2、禁止firewall开机启动
systemctl disable firewalld.service

3、安装iptables防火墙
yum install iptables-services

4、编辑防火墙配置文件
vi /etc/sysconfig/iptables
内容替换为:
# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

-A INPUT -j REJECT –reject-with icmp-host-prohibited

-A FORWARD -j REJECT –reject-with icmp-host-prohibited

COMMIT

按一下Esc后输入:wq! 保存退出

5、最后重启防火墙使配置生效
systemctl restart iptables.service

6、设置防火墙开机启动
systemctl enable iptables.service

二、关闭SELINUX

vi /etc/selinux/config

//注释掉下面的内容,则在前面加上#
#SELINUX=enforcing
#SELINUXTYPE=targeted
//末尾增加一句:
SELINUX=disabled

Esc输入:wq! 保存退出

//使配置立即生效
setenforce 0
7、创建我存放源码包的文件夹
mkdir -p /projects/lamp

8、yum安装gcc
yum install -y gcc gcc-c++

9、安装vim编辑器
yum install -y vim

【二】安装apache

(一)安装apr

1、切换到源码目录
cd /projects/lamp

2、下载apr包
wget http://apache.fayea.com/apr/apr-1.5.2.tar.gz

3、安装apr包需要的扩展

yum install -y autoconf libtool

4、解压、配置、编译、安装

tar -xzvf apr-1.5.2.tar.gz

cd apr-1.5.2

./buildconf

./configure –prefix=/usr/local/apr

make

make install
(二)安装apr-util

1、切换到源码目录

cd /projects/lamp/

2、下载apr-until包

wget http://apache.fayea.com/apr/apr-util-1.5.4.tar.gz

3、解压、配置、编译、安装

tar -xzvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

make

make install
(三)安装pcre包

1、切换到源码目录

cd /projects/lamp/

2、下载pcre包

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz
4、解压、配置、编译、安装

tar -xzvf pcre-8.39.tar.gz

cd pcre-8.39

./configure –prefix=/usr/local/pcre

make

make install
(四)安装apache

1、切换到源码目录

cd /projects/lamp/

2、下载apache

wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.23.tar.gz

3、解压、配置、编译、安装

tar -xzvfhttpd-2.4.23.tar.gz

cd httpd-2.4.23

./configure –prefix=/usr/local/apache2 –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util/bin/apu-1-config –with-pcre=/usr/local/pcre –enable-so –enable-rewrite

make

make install

4、配置apache

切换到配置文件目录

cd /usr/local/apache2/conf

vim打开配置文件

vim httpd.conf

去掉ServerName前的注释,修改为localhost:80

5、启动apache服务

/usr/local/apache2/bin/apachectl start

6、查看apache是否安装成功

curl localhost

如返回It works页面,则安装成功
如果外网不能访问,请检查防火墙设置
7、将apache命令加入到环境变量中

打开profile文件

vim /etc/profile

文件最后添加一行

PATH=/usr/local/apache2/bin:$PATH

使配置生效

source /etc/profile

8、设置httpd开机自启

切换到系统service目录

cd /lib/systemd/system

新建一个httpd.service文件

vim httpd.service

写入如下数据:

[Unit]

Description=ApacheServer

After=network.target
[Install]

WantedBy=multi-user.target
[Service]

Type=forking

ExecStart=/usr/local/apache2/bin/apachectl -k start

ExecReload=/usr/local/apache2/bin/apachectl -k restart

ExecStop=/usr/local/apache2/bin/apachectl -k stop

PrivateTmp=true

保存并退出

设置httpd.service开机自启
systemctl enable httpd.service

重启电脑
shutdown -r now

查看是否自启
ps -ef | grep httpd
【三】安装mysql
提示:因为centos7.2默认安装了mariadb-libs,所以先要卸载掉

查看是否安装mariadb
rpm -qa | grep mariadb

卸载mariadb(注意检查依赖,判断是否可以强制删除)
rpm -e –nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

1、切换到源码目录
cd /projects/lamp

2、下载所需的rpm包

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.14-1.el7.x86_64.rpm

3、安装需要的扩展库
yum install -y libaio //安装server时需要
yum install numactl

4、安装

rpm -ivh mysql-community-common-5.7.14-1.el7.x86_64.rpm –nosignature

rpm -ivh mysql-community-libs-5.7.14-1.el7.x86_64.rpm –nosignature

rpm -ivh mysql-community-client-5.7.14-1.el7.x86_64.rpm –nosignature

rpm -ivh mysql-community-server-5.7.14-1.el7.x86_64.rpm –nosignature

提示:加上–nosignature是为了防止报签名错误

5、初始化

切换到mysql的bin目录
cd /usr/bin

初始化mysql
mysqld –initialize-insecure –user=mysql
提示:-insecure设置root密码为空

修改mysql文件所有者(报找不到mysql.sock错误时需修改)
chown mysql:mysql -R /var/lib/mysql

启动mysqld
systemctl start mysqld

添加root用户密码
mysqladmin -u root password 密码

登录mysql
mysql -u root -p

退出
quit

【四】安装php
1、切换到源码目录

cd /projects/lamp

2、下载源码包

wget http://cn2.php.net/distributions/php-7.0.9.tar.gz

3、安装所需的扩展库

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

4、解压、配置、编译、安装

tar -zvxf php-7.0.9.tar.gz

cd php-7.0.9

./configure –prefix=/usr/local/php7 –with-apxs2=/usr/local/apache2/bin/apxs –with-mysqli=shared,mysqlnd –with-pdo-mysql=shared,mysqlnd

make&& make install

5、配置php.ini

添加配置文件

cp /projects/lamp/php-7.0.9/php.ini-production /usr/local/php7/lib/php.ini

提示:因我configure时未指定配置文件位置,系统默认位置在/usr/local/php7/lib下面

让apache支持php

编辑httpd.conf

vim /usr/local/apache2/conf/httpd.conf

找到DirectoryIndex,在index.html后添加

index.php

找到AddType,在之后添加一行

AddType application/x-httpd-php .php

6、测试

切换到apache默认的文档根目录

cd /usr/local/apache2/htdocs/

新增一个index.php

vim index.php

写入内容:
<?php
phpinfo();

保存并退出

删除index.html

rm -f index.html

测试能否访问到index.php

curl localhost

提示:如打印出phpinfo页面则安装成功、

设置PHP时区为上海
vim /usr/local/php7/lib/php.ini

//查找字符串:命令模式下,按‘/’,然后输入要查找的字符(date.timezone),按Enter则可定位。?和/的区别是,一个向前找,一个向后。
修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;

其他时区:
Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡

【五】为PHP7添加扩展
//编译并配置curl扩展
//进入php源码目录下的扩展目录
cd /projects/lamp/php-7.0.9/ext/curl

2. 调用phpize程序生成编译配置文件

/usr/local/php7/bin/phpize

3. 调用configure生成Makefile文件,然后调用make编译,make install安装

./configure -with-curl=/usr/local/curl -with-php-config=/usr/local/php7/bin/php-config
make
make install
成功后提示
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20151012/
4. 修改php配置文件
其它模块同样安装这样的方式,所有模块的.so文件都在extension_dir目录下则可
此时在/usr/local/php7/lib/php/extensions/no-debug-zts-20151012/目录下有
curl.so
mysqli.so
opcache.so
pdo_mysql.so
没有则再安装以上方法编译安装,之后再php.ini文件添加
;修改扩展库目录为上面提示的路径extension_dir = “/usr/local/php7/lib/php/extensions/no-debug-zts-20151012/”
;添加扩展
extension = curl.so
extension = mysqli.so
extension = pdo_mysql.so

开启opcache此扩展不是必需,但在高并发环境下可以显著提高性能
因为opcache是zend的模块,因此添加opcache.so是改成如下:
zend_extension = opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1

重启apache
/usr/local/apache2/bin/apachectl -k restart

//查看php加载的模块
/usr/local/php7/bin/php -m

【六】安装Redis和php的redis扩展

(一)安装Redis
1、创建安装目录
mkdir -p /usr/local/redis
cd /usr/local/redis
2、下载redis源码包
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
3、解压
tar -xvzf redis-3.2.3.tar.gz
4、进入源码目录
cd redis-3.2.3
cd src
6、编译安装
make &&make install
如有错误可尝试安装yum install -y tcl
make完成后,有产生可执行文件
redis-server:redis服务器的启动程序
redis-cli:redis命令行工具,也可为客户端
redis-benchmark:redis性能测试工具(读写)
redis-stat:redis状态检测工具(状态参数延迟)

7、编辑redis.conf
cd /usr/local/redis/redis-3.2.3
vim redis.conf
daemonize yes #转为守护进程,否则启动时会每隔5秒输出一行监控信息
save 60 1000 #减小改变次数,其实这个可以根据情况进行指定

默认只能本地访问,如需要外网访问redis,则需要注释下面内容并开放对应端口,默认为6379
#bind 127.0.0.1

8、启动redis服务
cd /usr/local/redis/redis-3.2.3
src/redis-server redis.conf

9、测试
redis-cli
出现127.0.0.1:6379>
127.0.0.1:6379> set name Tenhan
ok
127.0.0.1:6379> get name
“Tenhan”
quit退出

停止redis
src/redis-cli shutdown

内存中的数据会自动写入硬盘,文件地址是在redis.conf里配置的:
dbfilename dump.rdb
非root用户注意是否有文件写权限

(二)安装Redis php扩展
1、进入php7源码扩展目录
cd /projects/lamp
wget https://codeload.github.com/phpredis/phpredis/zip/php7
2、解压
unzip php7

/3、进入解压文件
cd phpredis-php7
/usr/local/php7/bin/phpize 报错可能需要yum install php-devel
./configure –with-php-config=/usr/local/php7/bin/php-config/

4、make && make install
如果使用php7以前的redis扩展可能会报错fatal error: ext/standard/php_smart_str.h: No such file or directory
是因为之前版本的php中的 php_smart_str.h 在 php7 中已经改名为 php_smart_string.h

成功安装后提示:
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20151012/

添加redis配置扩展
vim /etc/php.ini
找到extension_dir的位置在下边添加如下内容:extension=redis.so
重启apache
/usr/local/apache2/bin/apachectl -k restart

测试:
<?php
//连接本地Redis服务
$redis=new Redis();
$redis->connect(‘localhost’,’6379′);
//$redis->auth(‘password’);//如果设置了密码,添加此行
$redis->set(‘name’,’Tenhan’);
echo $redis->get(‘name’);

打印出Tenhan则测试成功。

至此,centos7.2 + apache2.4.23 + mysql5.7.14 + php7.0.9 + Redis3.2.3环境已经搭建好。
参考资料:http://www.cnblogs.com/GaZeon/p/5422078.html
http://blog.csdn.net/dglxsong/article/details/52075918

2016-09-01 23:27:05

发表评论

电子邮件地址不会被公开。 必填项已用*标注