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环境 ...
随机推荐
- phpcms v9 列表页直接下载功能代码实现
{pc:content action="lists" catid="$catid" num="3" order="id DESC& ...
- gitignore忽略规则
我们用git提交本地代码时,有些文件或日志是不需要提交的,这个时候可以用.gitignore来解决这个问题: 首先,我们需要创建一个.gitignore文件,用命令输入 touch .gitignor ...
- Beta Scrum Day 1
听说
- Beta阶段敏捷冲刺报告-DAY5
Beta阶段敏捷冲刺报告-DAY5 Scrum Meeting 敏捷开发日期 2017.11.6 会议时间 12:00 会议地点 软工所 参会人员 全体成员 会议内容 乱序问题的解决,异常输入提示 讨 ...
- Python实现基于协程的异步爬虫
一.课程介绍 1. 课程来源 本课程核心部分来自<500 lines or less>项目,作者是来自 MongoDB 的工程师 A. Jesse Jiryu Davis 与 Python ...
- splinter web测试框架
1.安装谷歌浏览器驱动(windows把驱动解压放在Python.exe同级目录即可) http://chromedriver.storage.googleapis.com/index.html 注意 ...
- 个人技术博客(alpha)
APP的权限校验不同于web网页端,web一般使用session记录用户的状态信息,而app则使用token令牌来记录用户信息.有这样一个场景,系统的数据量达到千万级,需要几台服务器部署,当一个用户在 ...
- Django REST framework+Vue 打造生鲜超市(一)
一.项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django Rest Framework 的功能实 ...
- JAVA版exe可执行加密软件
1.现在eclipse(myeclipse)中插入以下代码 1.1 MainForm package cee.hui.myfile; import javax.swing.*; import java ...
- Spring Security入门(3-8)Spring Security获取session中的UserDetail