centos7下搭建nginx+php7.1+mariadb+memcached+redis

一.环境准备

1.首先介绍一下环境,以及我们今天的主角们

我用的环境是最小化安装的centos7,mariadb(江湖传言mysql被oracle收购后,人们担心像java一样毁在oracle手上于是成了新的分支,但是还是像mysql一样用),

php7.1.0(版本无所谓,都是7版本),nginx1.10(我们安装的是稳定版而没有一味的追求新),memcached,和redis可以随机选择一个,当然全安装也没有干扰

2.软件包下载

1)mariadb软件包(yum安装,编译安装因为boost问题挂掉了而且耗时极其长,放弃了)

首先添加mariadb的yum源  

cd /etc/yum.repos.d/
vim /etc/yum.repos.d/MariaDB.repo
添加下列内容

# MariaDB 10.0 CentOS repository list - created 2015-08-12 10:59 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1   

2)php7.10软件包

wget https://downloads.php.net/~davey/php-7.1.0beta3.tar.gz

3)nginx软件包

wget http://nginx.org/download/nginx-1.10.1.tar.gz

nginx还需要下载ngx_http_upstream_consistent_hash(多台缓存服务器的时候使用一致性hash算法需要)

和ngx_http_redis(支持redis)(--add-dynamic-module=PATH时候等于他们的路径即可)

cd /usr/local/src/#下载 ngx_http_consistent_hash 和 
wget https://codeload.github.com/replay/ngx_http_consistent_hash/zip/master

unzip master
#解压之后的文件夹名字ngx_http_consistent_hash-maste
wget  http://people.freebsd.org/~osa/ngx_http_redis-0.3.8.tar.gz

tar zxvf ngx_http_redis-0.3.8.tar.gz

#解压之后的文件夹名字ngx_http_redis-0.3.8

4)memcached软件包(以及php支持memcached的php7版)(需要libevent libevent-devel)

#memcached
wget http://memcached.org/files/memcached-1.4.31.tar.gz

#memcache for php7
wget https://github.com/websupport-sk/pecl-memcache/archive/php7.zip

5)redis软件包以及redis-php7包

#redis
wget http://download.redis.io/releases/redis-3.2.3.tar.gz

#redis for php7
wget https://codeload.github.com/phpredis/phpredis/zip/php7

3.安装编译的相关环境以及php等依赖的相关库

yum update && yum upgrade
yum groupinstall "Development tools"

当然下面的代码和上面的有的重复,不用担心,安装过的会略过

yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof libxslt libxslt-devel

二、软件安装以及配置

0.新建用户以及文件夹

#创建群组www(nginx,php),mysql(mysql)
groupadd www
groupadd mysql
#创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/false -g www -M www
useradd -s /sbin/false -g mysql -M mysql

#创建web目录mkdir -R /var/www/htmlchown -R www:www /var/www/

1.安装mariadb

yum -y install MariaDB-server MariaDB-client mariadb-devel

安装完成后,改my.cnf,重启

mv /etc/my.cnf  /etc/my.cnf.bak
cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf

service mysql start  或者   /etc/init.d/mysql restart  重启

2.编译安装php7

当然是先解压文件
cd /usr/local/src/
tar  zxvf  php-7.1.0beta3.tar.gz
cd php-7.1.0beta3
#需要安装什么就  ./configure --help | grep  mysql(这里只是个例子XXX)   看看他的选项是什么
./configure --prefix=/usr/local/php  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir  --with-mysqli  --with-openssl  --with-pcre-regex  --with-pdo-mysql  --with-pdo-sqlite  --with-pear  --with-png-dir  --with-xmlrpc \ --with-xsl  --with-zlib  --enable-mysqli  --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-gd-native-ttf  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem  --enable-xml  --enable-zip

#提示缺啥就安装什么,或者安装libXXX-devel#比如提示我缺少xslt#我就试着安装了libXXX   libXXX-devel(devel是头文件)

#   yum install libxslt

#   yum install libxslt-devel
make && make install

#漫长的等待后成功
 
从编译目录中取出php.ini文件(生产环境和开发环境任选其一),注意是lib下,不信事后可查看phpinfo中的Configuration File (php.ini) Path这个选项,将php.ini移入到此位置
cp php.ini-development  /usr/local/php/lib/php.ini

从编译目录中将php-fpm放入到etc/init.d/目录下
cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

到php安装目录将两个需要改名的配置文件改改名字
cd /usr/local/php/etc/

mv php-fpm.conf.default  php-fpm.conf

cd php-fpm.d/

mv www.conf.default www.conf

#修改www.conf的用户为www

user = www
  group = www

#启动service php-fpm start 

3.编译安装nginx

进入/usr/local/src/下的目录,解压nginx文件不再详述#添加模块就是用--add-dynamic-module=模块解压的文件夹

./configure --prefix=/usr/local/nginx  --add-dynamic-module=/usr/local/src/ngx_http_consistent_hash-master  --add-dynamic-module=/usr/local/src/ngx_http_redis-0.3.8  --with-http_stub_status_module

make  &&  make install

简单配置nginx让其启动,详细配置优化我们专门有一篇文章

#user改为www
user www

#添加index.php
 location / {
            root   /var/www/html;
            index  index.php index.html index.htm;
}

#支持php

location ~ \.php$ {
            root           /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
            include        fastcgi_params;
}

#保存退出
#启动cd /usr/local/nginx/sbin/./nginx#会在/usr/local/nginx/logs/生成一个nginx.pid,以后就可以使用信号量了ps aux |grep nginx 

4.编译安装redis

解压,进入目录不再详述

#直接编译安装就行make && make install

#为redis建立工作目录

mkdir  /usr/local/redis
#从编译目录将配置文件,客户端,服务器端复制过去
cp redis.conf  /usr/local/redis/
cd  src/
cp redis-cli  redis-server  /usr/local/redis

#简单配置redis.conf(设置为后台启动) cd /usr/local/redis vim redis.conf daemonize yes 保存退出

cd /usr/local/redis#启动服务器端./redis-server redis.conf#启动客户端,可以进行各种操作了./redis-cli

让php支持redis(php安装拓展都是千篇一律的,进入加压后的文件夹中执行phpize,然后./configure 指向php-config,结束会告诉你拓展目录是啥复制放到php.ini中)

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/loca/php/bin/php-config

vim /usr/local/php/lib/php.ini

在差不多最后的地方添加(memcache的也是一样,后面不再详述)

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"   (当然这个目录是编译redis拓展完成后提示的地址)

[redis]
extension=redis.so

5.编译安装memcached(解压进入目录不再详述)

#因为是yum安装的libevent,不必再--with-libevent指定libevent
./configure --prefix=/usr/local/memcached
make && make install

#启动(用户www , 后台启动 -d ),www没有的自己建个cd /usr/local/memcached/bin./memcached -u www -d

php支持memcache的拓展(解压进入目录)

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/loca/php/bin/php-config

php.ini中添加[memcache]extension=memcache.so

#重启nginx和php-fpmservice php-fpm restartkill -HUP `cat /usr/local/nginx/logs/nginx.pid`
时间: 2024-08-15 17:58:19

centos7下搭建nginx+php7.1+mariadb+memcached+redis的相关文章

CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

html { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0px } .CodeMirror pre { } .CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler { background-color: white } .CodeMirror-gutters { border-right-width: 1px;

CentOS7下搭建nginx反向代理服务器使得外网可以二级域名访问内网应用

创建nginx的本地yum源 [[email protected] ~]# yum list |grep nginx No package nginx available. [[email protected] ~]# //给跪了,什么鬼,怎么没有nginx的rpm?算了,直接自己手动配一个官网repo吧 [[email protected] ~]# //访问nginx官网,进入dowload页面,翻到底部的Pre-Build Package,选stable version ----------

Linux系统:Centos7下搭建PostgreSQL关系型数据库

本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux.Unix.Windows等.PostgreSQL是完全的事务安全性数据库,完整地支持外键.联合.视图.触发器和存储过程,支持了大多数的SQL:2008标准的数据类型,包括整型.数值型.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大

linux下搭建nginx+php(FastCGI)+mysql运行环境

一.安装环境 1.CentOS5.5 2.php5.4 3.MySQL5.5.19 二.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, 1 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc gli

ubuntu下搭建nginx+mysql+php-fpm站点

概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器.  nginx的优势在于能以低内存高效率处理静态页面大量请求. 可以参考下:三大WEB服务器对比分析(apache ,lighttpd,nginx) PHP-FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启.有点在于: 较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境). 轻松地管理用户权限

在Centos7下搭建Socks5代理服务器

在Centos7下搭建Socks5代理服务器 知者不言0人评论20237人阅读2017-12-21 09:50:25 采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器.Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准.Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理. HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FT

在Centos7上搭建Nginx+rtmp服务器

在VPS服务器上配置一个直播环境,在iOS客户端实现推流到直播服务器,通过VLC播放器实现拉取服务器上的流观看直播. 效果图 Demo_01 Centos7上搭建Nginx+rtmp服务器 今天第一次在Centos7上搭建Nginx+rtmp服务器,以前在Mac上成功搭建,所以今天想在Centos7上试一试,在此记录一下,过程还是比较顺利. (1)准备需要的模块及工具(nginx-rtmp-module,openssl和git) 1.使用yum安装git [root~]# yum -y inst

一、CentOS7下搭建FastDFS+Nginx实现静态图片服务器

在集群环境下,图片存放在本地存在诸多限制,一般采用单独的图片服务器进行管理.FastDFS就是这样一个图片管理服务器. 环境需求,CentOS7下 一.先下载三件套,并上传到服务器中(Nginx自行下载),地址如下 1:libfastcommon https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz 2:fastdfs https://github.com/happyfish100/fastdfs/archive/

Centos7下搭建LAMP平台环境

centos发布7.0版本,新版本带来很多特性,除了内核更新到3.10外,支持 Linux 容器.Open VMware Tools 及 3D 图像能即装即用,转用 systemd.firewalld 及 GRUB2 ,而默认的文件系统为XFS等等,可以说是比较重大的升级.笔者尝试了使用Centos7搭建LAMP服务器平台,记录如下. 1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:sys