IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Centos 7 下搭建 LEMP 环境和安装 Redis、Memcache

    lionis发表于 2016-07-22 11:44:16
    love 0

    0. 说明

    • 暑假实习,大叔准备教我一些知识,但在安装和配置环境的时候,出了一些问题,记录下来,希望可以帮到人。

    • 在 centos 7 下安装nginx,php 5.6 ,mariadb 10.0 ,redis 2.2.8,memcathe

    1.资源仓库

    0.资源站点
    • ius.io

    • 如果下面的链接不可用了,可以自己在这上面查找。

    1.添加 epel 资源仓库
    • 命令:sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-7.noarch.rpm

    2.添加 ius 资源仓库
    • 命令: sudo rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm

    3.检查仓库列表
    • 命令: yum repolist

    • 如果看到 epel/x86_64 和 ius/x86_64 的字样,则证明安装成功

    2.MariaDB

    0.说明
    • centos 7 自带了 mariadb ,由于版本比较低,所以我们先把旧版的删除,再安装新版的。

    1.卸载旧版
    • 命令:sudo yum remove mariadb-libs -y

    2.安装
    • 命令:sudo yum install mariadb100u-server mariadb100u -y

    3.启动
    • 命令:sudo systemctl start mariadb

    4.查看状态
    • 命令:sudo systemctl status mariadb

    • 如果看到active(running)字样证明运行成功

    5.初始化数据库
    • 命令:mysql_secure_installation

    • 根据提示进行配置

    # 输入 root 密码,初始值为 空
    Enter current password for root (enter for none):
    
    # 是否设置 root 新密码
    Set root password?
    
    # 是否移除匿名用户
    Remove anonymous users? 
    
    # 是否允许远程登录 root,在开发时我们会使用navicat等数据库工具,可能就会需要用到远程登录。但是最好还是另外设置一个账户来进行远程登录和权限控制。
    Disallow root login remotely?
    
    # 移除测试数据库 test
    Remove test database and access to it?
    
    # 重载系统表
    Reload privilege tables now?
    6.重启数据库
    • 命令:sudo systemctl restart mariadb

    • 查看数据库状态(见上 5.数据库状态)

    7.设置开机自动运行
    • 命令:sudo systemctl enable mariadb

    8.进入和退出 mariadb
    • 命令:mysql -u root -p(进入)

    • 命令:quit

    3.PHP

    0.说明
    • 安装的PHP版本为 5.6 ,安装相关东西的时候如果遇到冲突,有可能是版本不一样。

    1.安装
    • 命令:sudo yum install php56u-fpm -y

    2.启动
    • 命令:sudo systemctl start php-fpm

    3.查看状态
    • 命令:sudo systemctl status php-fpm

    4.设置开机自动运行
    • 命令:sudo systemctl enable php-fpm

    5.安装常用扩展
    • 命令:sudo yum install php56u-gd php56u-mysqlnd php56u-pdo php56u-mcrypt php56u-mbstring php56u-xmlrpc php56u-pecl-jsonc -y

    • 如果还有需要一些扩展,请自行 google

    6.重启PHP
    • 命令:sudo systemctl restart php-fpm

    7.错误调试
    • 开发需要开起

    • 线上记得关闭

    • 命令:sudo vi /etc/php.ini

    • 修改 display_errors 和 display_reporting

    • 重启 php-fpm

    4.Nginx

    1.安装
    • 命令 sudo yum install nginx -y

    2.启动
    • 命令 sudo systemctl start nginx

    3.查看状态
    • 命令 sudo systemctl status nginx

    4.设置开机自动运行
    • 命令 sudo systemctl enable nginx

    5.可以在浏览器测试一下是否安装成功
    • http://地址:端口

    • 如果成功的话,就能看到欢迎提示语了 Welcome to nginx on Fedora!

    6.注释掉默认端口监听
    • 命令:sudo vi /etc/nginx/nginx.conf

    • 把文件中两个 listen 注释掉

    7.配置文件
    • 如果使用 thinkphp、wordpress等配置的话,自行 google 配置文件

    • 进入配置文件目录

    • 命令:cd /etc/nginx/conf.d

    • 例如:创建文件名为 default.conf 的配置文件, 带有 # 的需要自行修改

    server {
        listen 80;
        # server_name xxx.xxx.xxx
        # root /www/xxx;
        index index.php index.html;
        # error_log /www/xxx/log/nginx_error.log;
        # access_log /www/xxx/log/nginx_access.log;
        location ~ \.php{
            include fastcgi_params;
            set $path_info "";
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            fastcgi_pass 127.0.0.1:9000;
        } # 设置转发规则等
    }
    8.保存并重启nginx
    • 命令:sudo systemctl restart nginx

    5.Redis

    1.安装
    • 命令:sudo yum install redis -y

    2.启动
    • 命令:sudo systemctl start redis

    3.查看状态
    • 命令: sudo systemctl status redis

    4.设置开机自动运行
    • 命令:sudo systemctl enable redis

    5.安装PHP扩展
    • 命令:sudo yum install php56u-pecl-redis

    6.重启PHP服务
    • 命令:sudo systemctl restart php-fpm

    7.测试
    • 创建 PHP 文件

    <?php
        //连接本地的 Redis 服务
       $redis = new Redis();
       $redis->connect('127.0.0.1', 6379);
       echo "Connection to server sucessfully";
       echo "Server is running: " . $redis->ping();
    ?>
    • 打开页面,若显示 Connection to server sucessfullyServer is running: +PONG,则安装成功。

    6.Memcached

    1.安装
    • 命令:sudo yum install memcached

    2.启动
    • 命令:sudo systemctl start memcached

    3.查看状态
    • 命令:sudo systemctl status memcached

    4.设置开机自动运行
    • 命令:sudo systemctl enable memcached

    5.安装php扩展
    • 命令:sudo yum install php56u-pecl-memcache -y

    6.重启PHP服务
    • 命令:sudo systemctl restart php-fpm

    7.测试
    • 创建 PHP 文件

    <?php
    //连接
    $mem = new Memcache;
    $mem->connect("127.0.01",  11211);
     
    //保存数据
    $mem->set('key1', 'This is first value', 0, 60);
    $val = $mem->get('key1');
    echo "Get key1 value: " . $val ."<br />";


沪ICP备19023445号-2号
友情链接