CentOS搭建Apache+php+MySQL+Redis环境
要搭建一个本地linux服务器环境,按照网络教程依葫芦画瓢,噼里啪啦搭好后,发现redis服务怎么也弄不好,不喜欢那种明知有问题却无从下手又无能为力的感觉,碰了无数次壁以后,我决定卸载,重头来过,并尽可能的记住每个步骤同时也理解每个步骤。为自己也为和我一样遇到困难的朋友们做个参考。
人活着,就应该迎难而上,不怕艰难险阻,哈哈哈哈哈!
好了,切入正题:
一,安装虚拟机和centOS系统:
我使用的虚拟机是:vmware-workstation-11_gr.7z
系统是:CentOS-7-x86_64-Minimal-1611.iso
下载虚拟机之后,解压可以看到这样两个文件,单击安装,也就是红色箭头指向的那个文件,右键选择管理员运行,按照菜单提示操作。
vmware的安装,基本上就是一直下一步,这里不在赘述。安装成功后,桌面会出现虚拟机图标:
双击打开虚拟机,进入虚拟机主界面,选择添加新的虚拟机,开始安装虚拟机:
然后,按照提示操作。安装之前,会有一些设置比如时区,网络等等,基本选择默认就可以了。下面给出一些截图,是我在安装过程中选择的配置,并不是唯一的,按照自己的需要设置也可以。
这里的用户名和密码应该记住,将来连接自己的虚拟机的时候会用到。接下来的步骤如果没有特殊需要,直接默认就好了。
这个弹出框是提示有些需要安装的插件包没有,是否忽略继续安装,直接单击yes,可以安装好虚拟机后再安装这些插件。
这里是虚拟机的基础设置,基本都选择默认然后单击左上角的done就好了。时区和网络需要配置。因为默认的网络是动态ip会不断刷新,不利于我们每次连接,因此可设为静态ip,这样就不用每次都查看然后才能连接。
注意:上面的DNS设置是错误的,应该设为8.8.8.8!!!我随手输入的192.168.128.2没有任何依据。
进行到这里,如果有选项有感叹号,点进去直接默认设置,然后done,直到began installation出现之后单击它,开始安装。
然后在下面这个界面,一直等待,如果出现和刚刚一样的弹出框,都yes就好。
安装完成后会进入登录界面:
输入刚刚设置的用户名和密码:(密码输入时是不显示的,你确认正确后回车即可)。
这是登录成功的状态,这个时候可以查看自己的ip,通过命令 ip addr可以查看。
如果要看更清晰的信息,可以使用ifconfig命令:这个命令默认是未安装的,需要进入root模式,安装后方可使用
su root 回车
输入密码,登录成功后输入:
注意:需要设置虚拟机的网络适配器的模式为桥接,然后重启网络服务。
命令:
# service network restart # yum install net-tools
安装成功后,输入:ifconfig。
二,环境搭建
环境包括httpd,php,mysql以及redis。前三种都可以通过yum的方式安装,最后一种稍稍不同,下面分别记录:
1,安装httpd
命令:
# yum install httpd httpd-devel
安装后重启服务:
# service httpd start
关闭防火墙:
# service stop firewalld
检测是否成功:浏览器输入你的ip回车
如果出现这个界面,则说明安装成功。
2,安装php
命令:
# yum -y install php # yum -y install php-fpm
上面是基础的php,下面这个命令可以安装基础+扩展:
# yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
安装成功后记得重启服务使php生效。
命令:
# systemctl restart httpd.service
写入测试文件:
# vi var/www/html/info.php
然后在文件中写入:<?php phpinfo();?>
访问:你的ip/info.php
出现这个则说明安装成功。
3,安装mysql
命令:
# yum -y install mariadb mariadb-server
安装完成后启动:
# systemctl start mariadb
数据库配置:
# mysql_secure_installation
1.第一步是询问,是否为root设置密码,可以设置也可以为空,为空时直可不输入密码直接登录数据库。
2.是否要移除匿名用户,选择是即可。
3.不允许root远程登录,选择否,也即是允许远程登录。(为了方便测试)。
4.是否移除测试数据库。选择是。
5.是否重新加载权限表,是。
测试完成后登录:mysql -uroot -p
安装插件:
# yum install php-mysql phhp-gd php-imap php-idap php-odbc php-pear php-xml php-xmlrpc
备注:安装好数据库之后,关闭虚拟机在开机,如果直接输入
[root@localhost ~]# mysql -uroot -p
Enter password:
则会显示如下信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
这是因为没有打开mariadb服务的原因,先打开服务再登录就好了:
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
4,安装redis
安装wget命令:(wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。
# yum -y install wget
# yum -y install gcc
(1)安装redis:
wget http://download.redis.io/releases/redis-3.0.4.tar.gz
解压源码:
tar -zxvf redis-3.0.4.tar.gz
进入解压目录:
cd redis-3.0.4
执行make编译Redis:
make MALLOC=libc
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel。
安装Redis:(记住是要进入解压后目录的src目录下执行)
# make install
或者执行:
cd src && make install
配置Redis能随系统启动:
# ./utils/install_server.sh
运行命令之后一直enter就好了,代码结果如下:
Welcome to the redis service installer
This script will help you easily set up a running redis server Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server]
Selected config:
Port : 6379
Config file : /etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
Redis服务查看、开启、关闭:
a.通过ps -ef|grep redis命令查看Redis进程
[root@localhost redis-3.0.4]# ps -ef |grep redis
root 5843 1 0 12:18 ? 00:00:11 /usr/local/bin/redis-server *:6379
root 5885 2415 0 13:43 pts/1 00:00:00 grep --color=auto redis
b.开启Redis服务操作通过/etc/init.d/redis_6379 start命令,也可通过(service redis_6379 start)
[root@localhost redis-3.0.4]# service redis_6379 start
Starting Redis server...
c.关闭Redis服务操作通过/etc/init.d/redis_6379 stop命令,也可通过(service redis_6379 stop)
[root@localhost redis-3.0.4]# service redis_6379 stop
Stopping ...
Redis stopped
redis.conf 的配置信息:
#是否后台运行
daemonize yes
#pid文件保存路径
pidfile /usr/redis/run/redis_6379.pid
#端口号
port 6379
#接收来自于哪个个ip地址的请求,如果不设置,将处理所有请求
bind 127.0.0.1
#超时,单位为秒
timeout 300
#log日志级别分为4级,debug,verbose,notice,warning,生产环境一般开启notice
loglevel notice
#log日志位置,不设置,默认打印命令行终端
logfile stdout
#数据库个数,默认使用0数据库
datebase 16
#设置redis进行数据库镜像的频率,单位为秒,意思为当900秒之内有1个key发生变化时,进行镜像备份
save 900 1
save 300 10
save 60 10000
#进行镜像备份是否压缩
rdbcompression yes
#镜像备份文件名
dbfilename dump.rdb
#数据库镜像存放位置
dir /usr/redis/var/
#设置该数据库是否为其他数据库的从数据库
slaveof yes
#设置同时链接的客户端数量
maxclients 12800
#是否默认备份数据库镜像到磁盘
appendonly no
#设置对appendonly.aof同步的频率,always表示每次读写都进行,everysec表示只对写进行累积,每秒同步一次
appendfsync everysec
#是否开启虚拟内存
vm-enabled no
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page 134217728
vm-page-size 32
vm-max-threads 4
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
activerehashing yes
测试是否安装成功:
先进入src目录
[root@localhost src]# ./redis-server
若安装成功则:
6607:C 13 Dec 14:14:11.499 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
6607:M 13 Dec 14:14:11.501 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.4 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 6607
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-' 6607:M 13 Dec 14:14:11.502 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
6607:M 13 Dec 14:14:11.502 # Server started, Redis version 3.0.4
6607:M 13 Dec 14:14:11.502 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1'
to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
6607:M 13 Dec 14:14:11.503 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel.
This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root,
and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
6607:M 13 Dec 14:14:11.503 * The server is now ready to accept connections on port 6379
(2)接下来安装redis-php扩展:
1.下载压缩包:
[root@localhost /]# cd /usr/local/src
[root@localhost src]# wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
解压缩:
[root@localhost src]# tar -zxvf 2.2.4.tar.gz
进入phpredis-2.2.4目录:
[root@localhost src]# cd phpredis-2.2.4
2.编译安装:
先使用phpize命令生成config配置文件
[root@localhost phpredis-2.2.4]# phpize
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
提示缺少php-devel插件,安装
[root@localhost phpredis-2.2.4]# yum -y install php-devel
再执行phpize命令:
[root@localhost phpredis-2.2.4]# phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
配置:
[root@localhost phpredis-2.2.4]# ./configure
备注:# ./configure --with-php-config=/usr/local/php/bin/php-config #这是带参数的配置,意思是去到参数指定的文件目录执行配置命令
编译:
[root@localhost phpredis-2.2.4]# make
安装:
[root@localhost phpredis-2.2.4]# make install
备注:安装完成,提示Installing shared extensions: /usr/lib64/php/modules/,是正常的。
配置php支持:
[root@localhost phpredis-2.2.4]# vi /etc/php.ini
在最后一行加上:
extension="redis.so"
保存后退出。
重启Apache服务使配置生效,然后测试:
[root@localhost phpredis-2.2.4]# systemctl restart httpd.service
重启服务后刷新当初测试php是否安装成功的页面,如果出现下面内容,则说明扩展安装成功。
到此为止,一个最基础的Apache+php+MySQL+Redis环境环境就搭建完成,后面有其他问题再进行补充,存在的问题还请多多指教!
CentOS搭建Apache+php+MySQL+Redis环境的更多相关文章
- Mac下搭建Apache+PHP+MySql运行环境
https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...
- windows本地搭建nginx+php+mysql+redis环境详细步骤
1.mysql的下载和安装 这个可参考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html 2.php的下载和配置修改 下载地址:https://w ...
- win10本地搭建apache+php+mysql运行环境
首先下载所需软件: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.mi ...
- 64位win7旗舰版搭建apache+php+mysql开发环境[转]
我建议把apache.php.mysql都安装在一个文件夹中,比如:web/apache.web/php.web/mysql 1.安装apache2.2.25,请查看win7下安装VC9版本的ap ...
- 腾讯云服务器搭建Apache/PHP/MySQL环境
软件环境 Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置 下载 XAMPP htt ...
- Apache+PHP+Mysql 集成环境 几个软件pk
WampServer 2.5 64位 - 工具软件 - 源码之家 2014年8月25日 - WampServer是Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境.支持2 ...
- WampServer 给电脑搭建apache服务器和php环境
WampServer 给电脑搭建apache服务器和php环境 前端不仅要做页面展示层,还负责着数据交互的部分,不要等到后端人员做好工作了前端才开始对接,那样太被动了. 前端在完成静态页面的编码后,就 ...
- windows下搭建apache+php+mysql
在windows下,apache和mysql都有自动化安装的程序,本篇则侧重从apache和php版本选择,php线程安全,apache和mysql安装启动服务,工作环境配置这几个方面来阐述windo ...
- 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的
在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...
随机推荐
- 一个典型的kubernetes工作流程 - kubernetes
1.准备好一个包含应用程序的Deployment的yml文件,然后通过kubectl客户端工具发送给ApiServer. 2.ApiServer接收到客户端的请求并将资源内容存储到数据库(etcd)中 ...
- 201621123040《Java程序设计》第2周学习总结
1.本周学习总结 关键词:Java中的字符串与数组 c语言基本语法的迁移 相关总结:在一周的学习过程中,我自主学习Java的基本语法,前期的相关语法与c语言的基本语法相近,也算是做到了很好的回顾:在郑 ...
- C语言--期末总结
一. 1.当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 答:当初报志愿的时候,没有具体的想法,只凭借着 ...
- 第二次作业:APP案例分析
App案例分析 产品:三国杀-页游手游双通 选择理由 当今社会手机已经渐渐取代了电脑在人们日常生活的需求,既然要选择APP进行案例分析,首推的估计就是手机APP了.三国杀是陪伴我高中时代的主要娱乐方式 ...
- python 单向链表实现
单链表的操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 inse ...
- JAVA反射机制基础概念
反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠覆原来对java的理解. J ...
- 一个轻量级iOS安全框架:SSKeyChain
摘要 SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码.账户进行访问,包括读取.删除和设置.SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsof ...
- xapp1151_Param_CAM模块安装
xapp1151_Param_CAM模块安装 所需生成模块 TCAM CAM 下载链接 赛灵思技术支持网站:http://www.xilinx.com/support.html 并在网页中搜索xapp ...
- node创建第一个应用
如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 ...
- 逆向集录_00_不同程序OEP特征总结
在分析/逆向 程序时,如果事先知道这类程序的一些特征,那将会是事半功倍的: 分析/逆向 程序,和写程序不同,比喻的话:写程序像在作案,分析/逆向 程序就像是在破案,对破案来讲,重在假想和推理: 特征1 ...