Centos7.0以上安装nginx+php7.0+mysql5.7+redis3作为开发php环境

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介:

CentOS 7 biuld 1611最小化安装@VMware

Redis 3.2.8


安装步骤:


#安装gcc

yum -y install gcc

#下载redis

curl -O  http://download.redis.io/releases/redis-3.2.8.tar.gz

#解压

tar -zxvf redis-3.2.8.tar.gz

#转换目录

cd redis-3.2.8/deps/

#编译依赖

make geohash-int hiredis jemalloc linenoise lua

#转换目录

cd ..

#编译Redis

make && make install

#转换目录

cd utils/

#使用脚本安装服务

./install_server.sh

#启动服务

systemctl start redis_6379

systemctl status redis_6379

#好了,就这些,尝试一下吧。


简单提示:


    当前版本中需要编译的依赖有五项,更早或未来的版本可能会有不同。如果您没有编译这些项目,编译Redis会遇到错误。


    fatal error: jemalloc/jemalloc.h: No such file or directory

    cc: error: ../deps/hiredis/libhiredis.a: No such file or directory

    cc: error: ../deps/lua/src/liblua.a: No such file or directory

    cc: error: ../deps/geohash-int/geohash.o: No such file or directory

    cc: error: ../deps/linenoise/linenoise.o: No such file or directory


    在使用脚本安装服务的过程中,您可以一路【Enter】完成安装。之后您可以再次运行脚本文件,并通过输入不同的端口号建立多个Redis服务。




1.先修改yum源  https://webtatic.com


  rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

  rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

  rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm


2.安装nginx


  yum install nginx


3.安装mysql5.7


  yum -y install mysql-community-server


4.安装php


 yum install php70w-devel php70w.x86_64 php70w-pecl-redis  php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64  php70w-pdo.x86_64   php70w-mysqlnd  php70w-fpm php70w-opcache


5.开始简单的配置


  mysql 配置


  vim /etc/my.cnf


在[client] 下面添加

  default-character-set=utf8


在 [mysqld] 下面添加


  character_set_server=utf8

  init_connect='SET NAMES utf8'


  collation-server=utf8_general_ci


保存退出


获取初始密码


 grep 'temporary password' /var/log/mysqld.log




注意 里面包括开头的 ;号


然后登陆mysql 修改密码


  alter user root@localhost identified by 'zhonghui!8'


如果密码太过于简单可能不然修改因为mysql默认设置了密码复杂度 至少8位 必须包含 大小写字母数字及符号


查看密码策略:


  show variables like '%password%';


说明:


validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 


validate_password_length:密码最少长度 


validate_password_mixed_case_count:大小写字符长度,至少1个 


validate_password_number_count :数字至少1个 


validate_password_special_char_count:特殊字符至少1个 上述参数是默认策略MEDIUM的密码检查规则。


validate_password_policy:密码策略,默认为MEDIUM策略 ,共有如下三种密码策略:


0 or LOW                 Length


1 or MEDIUM           Length; numeric, lowercase/uppercase, and special characters


2 or STRONG          Length; numeric, lowercase/uppercase, and special characters; dictionary file


可以通过 set  GLOBAL validate_password_policy=0 来修改


或者修改/etc/my.cnf文件


validate_password_policy=0 #0(LOW),1(MEDIUM),2(STRONG)其中一种,注意2需要提供密码字典文件


 如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:


  validate_password = off  


添加一个可以在外部登陆的mysql用户


  grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

  flush privileges;  


 


注意修改配置文件后需要重启mysql


配置nginx:


nginx可以的默认配置文件一般在:


  /etc/nginx/nginx.conf


使用 cat 查看一下配置文件 

这行表示nginx会引用  conf.d 这个文件夹下面所有.conf后缀的文件


那么在conf.d下面我们来建立我们自己的配置文件


  vim /etc/nginx/conf.d/user.conf


然后写入

    server {

    listen      80;

    server_name 192.168.88.3或者www.abc.com;

    root        /source/hld/bp.hldcanyin.com/public(项目目录绝对路径);

    index       index.php index.html index.htm;

    charset     utf-8;


    access_log /var/log/nginx/bp.hldcanyin.com.access.log main;

    error_log  /var/log/nginx/bp.hldcanyin.com.error.log debug;


    location / {

        #try_files $uri $uri/ /index.php?_url=$uri&$args;

        try_files $uri $uri/ /index.php?$query_string;

    }


    location ~ \.php {

        # try_files   $uri =404;


        fastcgi_pass  127.0.0.1:9000;

        fastcgi_index /index.php;


        include fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;

        fastcgi_param PATH_INFO       $fastcgi_path_info;

        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }


    location ~ /\.ht {

        deny all;

    }

}


这样 简单的lnmp就安装好了 


systemctl restart php-fpm   #启动php

systemctl restart nginx #启动nginx

systemctl restart  mysqld #启动mysql


nginx常见问题:使用nginx -s reload时

nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)


    解决: 服务没有启动 使用start启动服务,因为没有start而直接使用stop或者reload报错这个问题;

    如果方法一没有解决,使用方法二:-C 指定配置文件nginx.conf或者weblua.conf


安装php扩展的redis

1.安装编译工具

yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl

2.下载redis:https://pecl.php.net/package/redis

3.上传到 /usr/local/src/lnmp/ 下面

4.进入目录,并解压

# cd /usr/local/src/lnmp/

# tar zxvf redis-3.1.0.tgz

# cd redis-3.1.0

5.生成configure配置文件

# /usr/local/php/bin/phpize

Configuring for:

PHP Api Version: 20090626

Zend Module Api No: 20090626

Zend Extension Api No: 220090626

6.配置,编译,安装

# ./configure --with-php-config=/usr/local/php/bin/php-config

# make

# make install

7.安装完成之后,出现下面的安装路径

# /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

8.在PHP配置文件php.ini里面加载Redis扩展

# vi /usr/local/php/etc/php.ini      #编辑配置文件

extension="redis.so"                       #在最后一行添加

:wq #保存退出






      本文转自xinrenbaodao  51CTO博客,原文链接:http://blog.51cto.com/11832904/1947557,如需转载请自行联系原作者





相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
|
1月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
43 5
|
1月前
|
存储 NoSQL PHP
PHP与Redis结合使用,提升数据存储性能
随着互联网应用的发展,PHP与Redis的结合成为提升数据存储性能的重要手段。PHP作为流行的服务器端语言,常用于网站开发;Redis作为高性能内存数据库,以其快速读写能力,有效优化数据访问速度,减轻数据库压力。两者结合通过缓存机制显著提升应用响应速度,支持高并发场景下的稳定性和可扩展性。
|
1月前
|
存储 NoSQL 关系型数据库
PHP 使用 Redis
10月更文挑战第22天
40 6
|
2月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
345 3
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
2月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
66 0
|
4月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
62 2