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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

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,如需转载请自行联系原作者





相关文章
|
4月前
|
缓存 NoSQL 关系型数据库
MySQL 与 Redis 如何保证双写一致性?
我是小假 期待与你的下一次相遇 ~
539 7
|
7月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
9月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
4月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
223 5
|
4月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
631 5
|
5月前
|
Kubernetes 应用服务中间件 Nacos
Kubernetes环境下Nginx代理Nacos服务请求故障诊断
以上方法不仅适用于排除特定环境下出现故障情况,也适合作为一般性指南帮助运维人员快速准确地找出并解决问题。实际操作中还需根据现场实际情况灵活运用这些技巧,并结合自身经验进行判断和处理。
184 12
|
11月前
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致 2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中 这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中 1. 使用MQ异步同步, 保证数据的最终一致性 我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 : 1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,
|
监控 NoSQL 应用服务中间件
elk+redis 搭建nginx日志分析平台
elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。
1597 0
|
4月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
5月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
272 1
Redis专题-实战篇二-商户查询缓存